Here is the features I shot for on this project:
* 8051-compatible processor: AT89C51RC @ 24MHz
* Von Neumann connected system bus
* 32kB EEPROM, 32kB SRAM (0x0000 - 0x7fff = AT28C256, 0x8000 - 0xffff = IS61C256)
* PIC16F1455 for USB virtual serial port and system control (including reset)
* Serial 128x64 graphic display (ST7920 controller, contains built-in character generator)
* PS/2 interface for keyboard
* DS1307 RTC
* Buzzer
* Fully through hole construction
* Board size identical to the LCD display module
How do you guys think?
I found PIC16F1455. Here is the (almost) complete BOM:
* 1x AT89C51RC-24PU
* 1x SN74HC00N
* 1x SN74HC573N
* 1x IS61C256AH-15N
* 1x AT28C256-15PC
* 1x PIC16F1455-I/P
* 1x DS1307N
* 1x ST7920-based LCD module
* 1x USB Mini-B connector
* 1x PS/2 connector
* 2x 22
resistors
* 2x 4.7k
resistors
* 7x 220nF MLCC
* 2x 22nF ceramic disk capacitor
* 1x 16MHz HC-49/S crystal (12MHz will work too, with different fuse settings in the PIC though)
* 1x 32768Hz warch crystal
* 1x buzzer
* 1x SS9015 PNP BJT
* 1x 2N7000 NMOSFET
The PIC16F1455 generates the 24MHz clock for 8051 from its internal 48MHz clock, provides USB CDC, and handles switching the 8051 between internal ROM and external ROM booting.