8-bit Z80 gaming console design

Discussion in 'Embedded Systems and Microcontrollers' started by rocifier, Jan 25, 2015.

  1. rocifier

    Thread Starter New Member

    Jan 25, 2015
    3
    0
    First post! :D

    Hi guys, i'm designing a 16 color composite video output game console. It just loads one game at the moment by having its EEPROM flashed. It has 32KB RAM (I could add another chip but I want to keep it simple/minimal for now). The ROM and RAM are together on one IC.

    I'm using the Z80180 processor because it has more IO lines and can handle a clock frequency twice that of NTSC, so I can have to generate the HSYNC and VSYNC as well as output pixel data through address lines A15-A18. The RGBI values are converted to an analog voltage signal using a resistor array as a DAC.

    The board runs off USB MICRO power plug (eg. phone charger). It has support for two 4-button controllers, which I will probably have to custom make with simply a bunch of buttons.

    You'll also notice a 4007 logic inverter IC, this simply inverts the memory request bit from the processor, so whenever the memory is not being accessed, there is a direct data line open to read from the handheld controllers (they are the X inputs on the right hand side). This is my design and needs checking!

    Before I start building this thing. I wanted to get some other opinions on if it looks like it might work. It's my first microprocessor design, so I imagine there are some things wrong. Rip it apart and ask me questions please. It's somewhat inspired by the Uzebox - especially the dedicated video output lines and timing. The code will be somewhat similar to that project. Perhaps in the future I can interface an SD card or something like they did.

    The main thing I'm concerned about is the time taken to write bytes to the EEPROM and how to handle the delay. Can I make the processor wait until the EEPROM has finished reading?

    Full schematic attached. Thanks for the help!
     
  2. MrChips

    Moderator

    Oct 2, 2009
    12,420
    3,355
    Where is the code for the game coming from?
    Instead of flashing the onboard EEPROM I would have chosen onboard SRAM and provide a socket for plug-in EEPROM modules. Then you can have any number of games on their individual modules.

    Also you will need some onboard EEPROM to run some kind of loader program in order to flash your EEPROM.
     
  3. rocifier

    Thread Starter New Member

    Jan 25, 2015
    3
    0
    Hey MrChips thanks for your reply. Interesting idea with plug in EEPROM modules. But I guess that is similar to how it works already, but EEPROM is removed, the game is flashed along with the system software, and then plugged back in to the DIP socket on the board. But now that im looking into it, usb EEPROM programmers are quite expensive. If I were to add SD card support I would then need a loader program to copy from SD to RAM. As it is with the cost of programmers I might have to add some kind of PC interface to flash the EEPROM. Any ideas?
     
  4. rocifier

    Thread Starter New Member

    Jan 25, 2015
    3
    0
    I need a way to have the processor boot from I2C ROM instead of parallel so I can pay $3 for a programmer instead of $30-$1000
     
Loading...