Universal retro computer emulator based on Raspberry Pi PICOFirmware and sample games are in "Other files" All components values are printed on PCB
Board is universal and you can run 3 different software projects:Retro computer machine emulator MCUME https://github.com/Jean-MarcHarvengt/MCUMEMiroslav Nemecek PicoVGA http://www.breatharian.eu/hw/picovga/index_en.htmlPICOZX128 with USB OTG for full keyboard and USB joystick/gamepad https://github.com/fruit-bat/pico-zxspectrumThis project share mainboard/motherboard only, you need alsoBottom https://www.pcbway.com/project/shareproject/RetroVGA_bottom_board_ba53be65.htmlFront https://www.pcbway.com/project/shareproject/RetroVGA_front_panel_e1a67e9b.htmlSide https://www.pcbway.com/project/shareproject/RetroVGA_side_2x_5cf80926.htmlYou can use also mainboard only, there is printed all button names on board,this "standalone version" can assembly with bigger 12mm x 12mm buttons on arrows and fireLatest board with PCB enclosure:FEATURES:Smallest as possibly 175x75mmAbsolute minimum components.QWERTY keyboardAccess to boot buttonVGA outputPiezo SpeakerReset buttonmicro SD card9pin DSUB ATARI joystick connector (you need reduce cable to cca 30cm)USB host / OTG for PICO ZX emulator to connect USB joystick or keyboardMCUME emulators are very basic, no save state, no configuration, only select games from card.Not all games works, there can be some screen issues, flashing sprites, freezes, unexpected resetsGame console systems supported:Atari 2600Odyssey/VideopacColecovisionAtari 5200Computer systems supported:Zx81Zx spectrumAtari 800C64BASIC MINIMAL PARTS1x Raspberry PICO37x DTS63K or another tactile switch 7mm height n switch force is highly recommended2x 2K 0603/ 0805/ TH Ø1.8x3.2mm2x 1K 0603/ 0805/ TH Ø1.8x3.2mm2x 470R 0603/ 0805/ TH Ø1.8x3.2mm1x 820R 0603/ 0805/ TH Ø1.8x3.2mm1x 390R 0603/ 0805/ TH Ø1.8x3.2mm1x 82R 0603/ 0805/ TH Ø1.8x3.2mm1x DSUB15 FEMALE1x DSUB9 MALE1x SD card SMD1x LD-PZPN-3510 or another piezo speakerNEW case preview:GAMEPLAY:ALL PCB parts:Native Hi res PicoVGA by Miroslav NemecekProject PicoVGA: http://www.breatharian.eu/hw/picovga/index_en.htmlPicoVGA schematic:PicoVGA library features:1 base layer and 3 overlay layers with transparency, using the PIO0 module8-bit output in R3G3B2 formatVGA monitor output in 256x192 to 1280x960 resolutionoutput to a TV in PAL or NTSC interlaced mode at resolutions up to 1024x576 or 848x480nearly 30 frame buffer formats: 8/4/2/1 bit graphics, tiles, text, special formats (charts)colour palettes for text modes and graphics formats with limited bit depthframe buffers of different formats can be combined together in strips and segments in the imageRLE image compression (suitable for drawings)transparency modes with selectable key colourhardware sprites in overlay layerslayer output only to designated output pins (color planes)automatic configuration of the video mode according to the specified resolution and timingautomatic overclocking of the processor according to the desired resolutionthe library uses the 2nd core of the processor, the 1st core is reserved for the main programadditional PWM audio output (not required)MCUME Status and known issues64 (C64):Full speed with soundI2C custom keyboard support!(only few games working)colem (Colecovision):Full speed with soundvcs (Atari 2600):no sound yetlimited cartridge size support (due to ram constraint)o2em (Videopac/Odyssey):no soundonly videopac G7000 games supported (due to ram constraint)speccy (Zx spectrum):SNA support (Z80 to be fixed)YM and preliminary buzz sound support48k games only supportedkempston joystick supported but on screen keyboard may not answer in some games81 (Zx81):zx80 and zx81.P, .81 and .80 format support (rename .56 for Zx81 hires game that requires 48k or more)I2C custom keyboard support!HIRES support for zx81zx80 supportYM sound support for zx81800 (Atari 400/800/XE/XL):.rom support (no floppy yet)I2C custom keyboard support!Full speed with soundPICOZX128RetroVGA and Picomputer keyboard mappingsTrying to squeeze in all the key mappings is tricky but here is an attempt.These are the nomal key mappings:These are the mappings with the ALt key down.:Shifted and numeric mappings are turned on and off using the arrow keys (up, down, left, right). QS1, QS2, ... save the emulator state to the appropriate Quick Save slot.If there is a save in QS1 it will load after the emulator is powered-on or reset.The SN keys load snapshots as if they are in a loop. SN loads the current snapshot, SN- load the previous snapshot and SN+ loads the next snapshot.These are the mappings with the numeric shift on:Alt+V sets the arrow keys to behave like a Kempston joystick, Alt+C sets the arrow keys to operate the Spectrum cursor keys.RetroVGA kiosk modeKiosk mode disables the menu system and quick-save buttons. Kiosk mode is enabled by placing the following file on the SD-card:zxspectrum/kiosk.txt
It supports the following:USB keyboardUSB joysticksMatrix keyboard (6x6)VGA video (RGB332)PWM sound (1 pin)SPI SD cardHere are the pin assignments:Raspberry Pi Pico - CHECK Warning!RetroVGA utilizes overclocking of the Raspberry Pi Pico. It has been found that some Pico do not run at the required 250Mhz.Please undertake the following check before soldering the board.1. Upload the firmware as detailed in the Uploading binaries to the Raspberry Pi Pico section of this guide.2. If successful, the Pico onboard LED should flash.3. Unplug the Pico and then plug in again.4. If the onboard LED flashes again then the board is ok to use.5. If not, do not solder the board, unfortunately the board you have cannot be overclocked. Soldering the components should be relatively simple for those with some soldering experience and access to suitable soldering tools. Note that there is an SMD component (this is limited to the SD card reader), even if you have chosen the through hole option for the resistors. If you are not experienced with SMD, take your time, and relax. I recommend good magnification; you can improvise a microscope from a cell phone - in video mode at maximum zoom to help! Bobricius has some useful videos on his YouTube channel. Start by studying the PCB, both sides and the location of items. I like to perform dry fits where needed so that you have an idea of where everything should go and what might get in the way when soldering. There is no complication with the polarity of the default components on this board, so one less thing to worry about. For the Raspberry Pi PICO installation, I recommend using temporary header pins or bent wire pins to locate and align the board. Make sure the board is in the right orientation, tack in place then remove the temporary pins and solder all edge holes to finish. Note that you could socket the Pi PICO for removal, by using female headers on the board, but this will mean you cannot install the front plate, as it will be too high for the button access.I recommend the following sequence when soldering the board together, starting with shortest height items first:1. SD card Reader2. Resistors3. Raspberry Pi PICO (don’t forget to check firmware before soldering)4. Tactile switches5. Piezo Buzzer. If using the piezo buzzer don’t forget to close the solder jumper as marked on the back of the main board.6. Turn board and install joystick and VGA sockets. RETROVGA schematic:References and CreditsHardwareby BobriciusSoftwareMCUME: https://github.com/Jean-MarcHarvengt/MCUMERefer to Credits at this link for emulators.Pico VGA hardware and software Miroslav Nemecek https://github.com/Panda381User GuideAdamT @AdamT117 https://twitter.com/AdamT117