Close
0%
0%

ADAM+

THE EMULATED COMPUTER ENTERTAINMENT SYSTEM

Similar projects worth following
ADAM+, rebuild of the legendary ADAM computer
GNU GENERAL PUBLIC LICENSE Version 3 (GPLv3)
I'm working really hard on a system that isn't all about emulation.
This system should communicate with the hardware so well that you hardly notice it's a PC emulation.
As for coding, yes, there is a lot of coding that I have put into this.
Some say that like many others this is a PC with emulation, this is only half the truth,
I try to get the ADAM feeling as close as possible with this system, otherwise I have a lot
to look forward to because I know that I have a powerful PC.
You won't see much of the whole Linux thing and emulation, I'll say it differently, you won't notice it at all.
The keyboard and joysticks can be used just like the real ADAM.
As a bonus, if you don't have this retro stuff anymore, use the new stuff with it.
I just want to make it clear that I pay a lot of attention to the quality of the system.

The Adam+ project is a modern reincarnation of the infamous Coleco Adam computer. With real hardware to run 8-bit emulator software, this device allows you to play your original COLECO &MSX cartridges. The project has just launched and is gaining traction as it is aimed to be an all-round 8-bit game machine supporting many old standards.

When the company Coleco announced their Coleco Adam computer, back in 1983, the idea was such a revolutionary one that competing manufactures were worried this device would dominate the console market. The Coleco Adam is a home computer and expansion device for the ColecoVision. It consists of a base console running on Z80 with a Motorola 6801 support CPU. It uses an external keyboard, has 2 game controllers, built-in cassette, digital storage, cartridge slots and a printer. It shipped with a bunch of software too. Like many home computers of its day, the Adam was intended to use a television set for its display. All of that for a price of a Commodore or MSX computer. For that time, this super computer was promising to take over and become a standard.

However, it failed to deliver due to increasing costs, manufacturing delays and bugs. World domination just flew out of the window. The Coleco Adam project eventually lead to the fall of Coleco. But just like the MSX system, Coleco's devices like the Vision and Adam still have a place in the hearts of today's many a retro enthusiastic. From that same scene comes the Adam+ initiative.

Belgium hard- and software maniac Danny Van den Heuvel initiated the recent Adam+ device project, promising interconnectable 8-bit retro computers on one hardware device. As Danny grew up with 8-bit machines like Amstrad, MSX, Commodore 64 and Coleco devices, his passion for such machines led to the idea of making a retro game PC console. Resulting in a multi homed emulator called Adam+, the spiritual follow-up to the original Coleco Adam.

The intention to create a universal system that can emulate many different systems with integrated hardware, is appealing as it also lets you insert original game cartridges. The Adam+ gets a dedicated interchangeable cartridge slot to support different cartridge formats. It is a complete hard & software emulation system, running MSX as well.

Adam+ is a real-life piece of hardware featuring a small form factor metal case design with SD cart slots, original DB9 joystick ports, USB and USB-C ports, connections for a real Adam keyboard and Adamnet. It has ethernet as well as HDMI connections and of course the interchangeable cartridge slots. This modern piece of technology runs on a small Linux Operating System providing a platform for emulation software. On the front of the enclosure a small oLED display with a thumbstick is present. All on a powerful single board with an 2.4GHz Intel CPU, UHD graphics cart, 32GB of storage and 4GB of RAM.

At the request of many enthusiasts, there will probably also be a campaign where you can buy a fully finished system. We'll keep you informed.

gpl-3.0.txt

Software license rules

plain - 322.56 kB - 07/07/2022 at 02:54

Download

  • 1 × LattePanda Delta 432 SBC
  • 1 × Adam+ PCB1 Cartridge & Control center board
  • 1 × Adam+ PCB2 Keyboard,Joysticks & Adamnet board
  • 1 × Zero4U: 4-Port USB Hub For Raspberry Pi Zero
  • 1 × Front panel board with Power button, Thumbstick, OLed and SD to USB

View all 9 components

  • ADAM KEYBOARD

    dannyvandenheuvel07/04/2022 at 00:20 0 comments

    One wire technologie and negative serial data.

    The advanced UARTs on the Teensy 4 can do this job for us that used to require a lot of
    discrete components.

    The Coleco ADAM peripherals are connected via a shared bus AdamNet.
    This bus is described in the technical reference manual.
    (https://console5.com/techwiki/images/b/b5/Coleco_ADAM_Technical_Reference_Manual.pdf)
    the keyboard diagram can also be found online.

    The cable is 6P6C.
    Keep attention! this cable is twisted for the keyboard.
    I believe that AdamNet works as a token passing network.
    There is a bus master (the computer) and all device traffic responds to commands from the master,
    just like USB.

    The bus speed is 62.5K baud half-duplex serial
    with standard framing, TTL levels and idle low.
    The Teensy 4 MCU has a single-wire mode where both
    input and output use the TX pin. A register bit controls this mux.
    A pull request is required to set the Teensy to this mode.
    The UART modules also support reverse polarity.
    The Teensy 4 is 5V tolerant, so excelent for this keyboard project.
    Despite that complexity, the keyboard only sends ASCII characters,
    with special codes with the eighth bit set for the function keys.
    There are no key-up transitions and no access to shift key states.

    When I finnish coding of the keyboard routine I had a strange problem.
    The problem I had, I could enter a character but  didn't recieve a return ACK.
    After placing a very short delay after switching the one wire communication from
    TX to RX it was fixed!

    void send_command(uint8_t command) {
        s_pkuart->CTRL |= LPUART_CTRL_TXDIR;   // Set to TX Mode...
        Serial1.write(command);                // Write command
        Serial1.flush();                       // Wait for transmit complete
        s_pkuart->CTRL &= ~LPUART_CTRL_TXDIR;  // Set to RX Mode...
        delay(10);                             // <----- THIS WAS THE SOLUTION   
    } 
    

    Below the schematic connection of the Teensy to the ADAM keyboard. H7 is just a jumper to disconnect from the 5V (only for testing purposes.)

  • THE HARDWARE DESIGN

    dannyvandenheuvel07/03/2022 at 11:27 0 comments

  • SCHEMATIC PRESENTATION OF THE ADAM+ SYSTEM V1.4

    dannyvandenheuvel07/03/2022 at 10:32 0 comments

    Schematic presentation of the ADAM+ system at this moment V1.4

  • ADAM+ SYSTEM V1.4 3D PRESENTATION

    dannyvandenheuvel07/03/2022 at 10:30 0 comments


View all 4 project logs

Enjoy this project?

Share

Discussions

dannyvandenheuvel wrote 08/26/2022 at 15:45 point

I've lost the source code, I will look into my archives if I find something back.

  Are you sure? yes | no

Perseveranze wrote 08/26/2022 at 13:56 point

Hey. Were you ever able to complete the .HMI file for your 3D printer interface? I'm interested in taking a look at it. Thanks.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates