Return to Menu
= = = DUO COMPACT EMULATOR = = =
Architecture and Emulator by Jack Eisenmann

Machine Code:


Programmer Code:



Debug Input Value: 0    
Debug Output Value: 0

Screen:





Mapped Memory:

Keypad:

Y
U
I
O

H
J
K
L


Flash Memory:


Bit order is from least significant to most significant. Deal with it!
EEPROM spans from address 0000 to FFF7 in memory.
SRAM spans from address 0008 to FFFB in memory.
The debug input port has address A00C in memory.
The debug output port has address 600C in memory.
The screen data port has address 000C in memory.
The screen signal port has address 100C in memory.
The keypad input port has address 900C in memory.
The input port from flash data has address 800C in memory.
The output port to flash data has address 200C in memory.
The bottom and middle flash address address latches are at 300C and 400C respectively.
The flash signals and top address bits are at 500C in memory.


= GENERAL USAGE =

Enter machine code in the text box to load data into mapped memory. Each line of machine code should begin with a hexadecimal address followed by 8 bit hexadecimal values. Example:

0000: 39 BF 99 EE
4000: B0 D0 EE 13
8000: 10 10 20 30
C000: 50 F7 B0 51
0100: 50 80 77 51

Note: The example above is an assortment of random numbers, and will not perform any useful task. I recommend that you write code using the Piston compiler, then generate machine code with the Fabrication compiler.


= SCREEN CONNECTIONS =

The wiring of the screen buses to I/O ports is shown in the diagram below:

I recommend that you also use this connection scheme. If you do not follow this convention in your machine, you will need to tweak the emulator. Search for the variable named customScreenDataBitOrder in the source code.

= FLASH CONNECTIONS =

The wiring of the flash chip to I/O ports is shown in the diagram below:

The different colors do not signify different functions; they are for readability.

If you include the keyword FLASH in your hex code, all data below FLASH will be written into flash memory. Example:

0000: 20 30 50 70
4000: B0 D0 11 31
FLASH
0000: 10 10 20 30
4000: 50 80 D0 51
Return to Menu
Return to the Ostracod Pond