Difference between revisions of "Geneve CRU definitions"

From Ninerpedia
Jump to navigation Jump to search
(Created page with "''/signal'' means negative logic {| |- | style="border: 1px solid black; padding:0.2ex" | TMS 9901 |- | style="border: 1px solid black; padding:0.2ex" | 0002 | style="border: 1p...")
 
Line 1: Line 1:
''/signal'' means negative logic
''/signal'' means negative logic


{|
{| style="width:50%"
|-
|-
| style="border: 1px solid black; padding:0.2ex" | TMS 9901
| colspan="2" style="background-color:lightgray; text-align:center" | TMS 9901
|-
|-
| style="border: 1px solid black; padding:0.2ex" | 0002
| style="width:20%" | 0002
| style="border: 1px solid black; padding:0.2ex" | INTA
| INTA
|-
|-
| 0004
| VDP Interrupt
|-
| 0006
| Joystick (button?)
|-
| 0008
| Joystick left
|-
| 000a
| Joystick right
|-
| 000c
| Joystick down
|-
| 000e
| Joystick up
|-
| 0010
| Keyboard Interrupt
|-
| 0018
| INTB
|-
| 001a
| Real-Time clock interrupt
|-
| 0024
| Joystick select
|-
| 002c
| Keyboard reset
|-
| 002e
| /VDP wait states
|-
| 0030
| P-Box reset
|-
| 0032
| System clock speed
|-
| 0034
| P-Box pin 18 sense (declared as not used)
|-
| 0036
| External memory cycle select
|-
| 0038
| Mouse button 3
|-
| 003a
| VDP reset
|-
|}
|}


TMS9901
{| style="width:50%; margin-top:3ex"
{
|-
0002 INTA
| colspan="2" style="background-color:lightgray; text-align:center" | Special
0004 VDP int
|-
0006 Joystick (-000e)
| style="width:20%" | 13c0-13fe
0010 Keyboard Int
| Single step
0018 INTB
|-
001a RTC Int
|}
0024 Joystick select
002c Keyboard reset
002e /VDP wait
0030 P-Box reset
0032 System clock speed
0034 P-Box pin 18 sense (declared as not used)
0036 External memory cycle select
0038 Mouse button 3
003a VDP reset


13c0 Single step (-13fe)
{| style="width:50%; margin-top:3ex"
 
|-
TMS9995
| colspan="2" style="background-color:lightgray; text-align:center" | TMS9995
1ee0 TMS9995 decrementer is event counter (0=is timer)
|-
1ee2 TMS9995 decrementer enable
| style="width:20%" | 1ee0
1ee4 Interrupt level 1 latch
| Decrementer in event counter mode (0=in timer mode)
1ee4 Interrupt level 2 latch
|-
1ee4 Interrupt level 4 latch
| 1ee2
 
| Enable decrementer
User-defined (Geneve board)
|-
1ef0 Keyboard clock enable
| 1ee4
1ef2 Clear keyboard input registrer
| Interrupt level 1 latch
1ef4 Geneve mode
|-
1ef6 /Mapped mode
| 1ee6
1ef8 Cartridge size (1=8KiB, 0=16Kib)
| Interrupt level 2 latch
1efa /Protect 6000
|-
1efc /Protect 7000
| 1ee8
1efe /Add wait state per memory cycle
| Interrupt level 4 latch
|-
| 1eea-1eee
| not used
|-
| 1ef0
| Keyboard clock enable
|-
| 1ef2
| Clear keyboard input register
|-
| 1ef4
| Geneve mode (/TI mode)
|-
| 1ef6
| Direct mode (/Mapper mode)
|-
| 1ef8
| Cartridge rom size (1=8 KiB, 0=16 Kib)
|-
| 1efa
| /Protect 6000
|-
| 1efc
| /Protect 7000
|-
| 1efe
| /Add wait state per memory cycle
|-
| 1fda
| Macro Instruction Detect
|}


TMS9995
The MID flag is set whenever the CPU encounters an unknown opcode. This (together with the interrupt) may be used to implement new "commands" on the application level.
1fda Macro instruction detect flag

Revision as of 10:57, 30 October 2010

/signal means negative logic

TMS 9901
0002 INTA
0004 VDP Interrupt
0006 Joystick (button?)
0008 Joystick left
000a Joystick right
000c Joystick down
000e Joystick up
0010 Keyboard Interrupt
0018 INTB
001a Real-Time clock interrupt
0024 Joystick select
002c Keyboard reset
002e /VDP wait states
0030 P-Box reset
0032 System clock speed
0034 P-Box pin 18 sense (declared as not used)
0036 External memory cycle select
0038 Mouse button 3
003a VDP reset
Special
13c0-13fe Single step
TMS9995
1ee0 Decrementer in event counter mode (0=in timer mode)
1ee2 Enable decrementer
1ee4 Interrupt level 1 latch
1ee6 Interrupt level 2 latch
1ee8 Interrupt level 4 latch
1eea-1eee not used
1ef0 Keyboard clock enable
1ef2 Clear keyboard input register
1ef4 Geneve mode (/TI mode)
1ef6 Direct mode (/Mapper mode)
1ef8 Cartridge rom size (1=8 KiB, 0=16 Kib)
1efa /Protect 6000
1efc /Protect 7000
1efe /Add wait state per memory cycle
1fda Macro Instruction Detect

The MID flag is set whenever the CPU encounters an unknown opcode. This (together with the interrupt) may be used to implement new "commands" on the application level.