The mcp4822 module provides the MCP4822 class for non-blocking audio playback through the Microchip MCP4822 dual-channel 12-bit SPI DAC using PIO and DMA. It allows users to output audio by configuring clock, MOSI, and chip select pins with adjustable gain settings.
* Non-blocking playback for audiocore samples such as RawSamples or WaveFiles
* Support for sine wave generation via array manipulation
* Methods for controlling playback including play, stop, pause, and resume
* Monitoring of real-time playback status through the playing property
This discussion focuses on the technical efforts to emulate and potentially hardware-reimplement Marvin Minsky’s 2500 computer. Users share resources including a GitHub emulator (`simh/tt2500`) capable of running SITS (Small Incompatible Timesharing System), as well as schematics and SUDS drawings that have been cleared for public viewing. The conversation explores the complexities of recreating the hardware, such as the difficult vector display components, and notes how modern simulation software like "Digital" can be used to model the original design using its existing component libraries.
**Facts Uncovered:**
* **Emulator Availability:** A `simh/tt2500` emulator is available on GitHub for running SITS (Small Incompatible Timesharing System).
* **Documentation:** Schematics and SUDS drawings have been made available to the public following permission requests.
* **Hardware Challenges:** Replicating the vector display is identified as one of the most complicated aspects of a hardware implementation.
* **Obscure Components:** Original parts mentioned include 2507 flip-flops (with shared register enable), an AOI gate (7464), and six-bit 3-state buffer chips.
* **Simulation Tools:** "Digital," a Java-based simulator, is being used to assist in reimplementing the design's components.
This video features Professor Marvin Minsky demonstrating the 2500 computer, a system he designed to provide powerful, accessible graphics and animation for schools at a low cost (approx. $5,000) (1:36 - 4:06).
Key features and concepts discussed include:
Hardware Design: The 2500 is a vector-based system using about 250 chips, capable of drawing lines, curves, and points rapidly. It is optimized for line drawings rather than filled-in, shaded regions (2:32 - 3:34).
Storage and Bandwidth: Programs can be saved on standard audio cassettes, and because the system stores coordinate lists rather than full video frames, it is highly efficient and can even transmit images over standard telephone lines (5:45 - 6:50).
Turtle Geometry: Professor Seymour Papert introduces Logo, a programming language designed to make animation and graphics intuitive for children and non-programmers. By using simple commands like 'forward', 'right', and 'spin', users can create complex geometric shapes and patterns without needing advanced mathematics (7:42 - 13:00).
Performance and Artifacts: The creators discuss the display's performance, noting its capability to handle 1,500 vectors at 60 frames per second, and address potential visual artifacts such as flickering or line overlap (14:20 - 16:50).
Artistic Potential: The team emphasizes that while their current demonstrations have been primarily geometric, the system holds potential for artists to create complex, aesthetically pleasing imagery if given the time and skill (18:13 - 19:15).
Niklas Roy has created a modern-day take on the two-wheeled robots used in schools in the 1980s with Logo programming. His robots are vector plotters that create artwork and can be built with an Arduino Nano.