Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

User:Trap15/fm7

From Data Crystal
< User:Trap15
Revision as of 12:43, 5 February 2024 by Trap15 (talk | contribs)
Jump to navigation Jump to search

Main I/O Map

Address R/W Detail
$FD00 R Keyboard data high bit, and clock speed indicator
Bit 7 6 5 4 3 2 1 0
Name D8 CLK
D8 Keyboard data bit 8
CLK Clock speed 0: 1.2MHz
1: 2MHz
AV always reads '1'
W Audio cassette and printer
Bit 7 6 5 4 3 2 1 0
Name SLCTIN STRB CASRMT CASWR
SLCTIN Printer select input 0: Select
1: Unselect
STRB Printer strobe Strobe for data exchange (edge pulse)
CASRMT Audio cassette remote 0: ON
1:OFF
CASWR Audio cassette data Write data, MIC
$FD01 R Keyboard data low 8 bits
Bit 7 6 5 4 3 2 1 0
Name Keyboard data bits 0~7
W Printer output data
Bit 7 6 5 4 3 2 1 0
Name Output data
$FD02 R Audio cassette and printer
Bit 7 6 5 4 3 2 1 0
Name CASRD DET2 DTT1 PE ACKNG ERROR BUSY
CASRD Cassette data read, SPK
DET2 Printer DET 2 (unused)
DTT1 Printer DTT 1 (unused)
PE Printer Paper Empty 0: Normal
1: No paper
ACKNG Acknowledge Triggered by reading (?)
ERROR Printer Error 0: Error
1: Normal
BUSY Printer Busy 0: Ready
1: Busy
W IRQ mask
Bit 7 6 5 4 3 2 1 0
Name SYNDET RXRDY TXRDY MFD TIMER PRINTER KEY
SYNDET RS-232 sync detect 0: Disable
1: Enable
RXRDY RS-232 serial receive ready
TXRDY RS-232 serial transmit ready
MFD Mini-floppy disk
TIMER Periodic timer (every 2.03ms)
PRINTER Printer ready for next character
KEY Keystroke received
$FD03 R IRQ flags
Bit 7 6 5 4 3 2 1 0
Name EXT TIMER PRINTER KEY
EXT Expansion 0: Active
1: Inactive
TIMER Periodic timer
PRINTER Printer ready for next character
KEY Keystroke received
W Buzzer
Bit 7 6 5 4 3 2 1 0
Name REPEAT SINGLE SPEAKER
REPEAT Repeating buzzer 0: Off
1: On
SINGLE One-shot buzzer 0: Off
1: On
SPEAKER Output buzzer to speaker 0: Mute
1: Output
$FD04 R Sub-CPU interface, FIRQ flags
Bit 7 6 5 4 3 2 1 0
Name FDCMODE KNJMODE 400CARD 400LINE IRQMODE BREAK ATN
FDCMODE FDC mode 0: 1MB
1: 320KB
L4 only
KNJMODE Kanji ROM mode 0: SUB
1: MAIN
L4 only
400CARD 400-line card
(260k color mode for AV40?)
0: Enable(?)
1: Disable(?)
L4 only
400LINE 400-line mode 0: 400-line
1: 200-line
L4 only
IRQMODE IRQ mode 0: Normal
1: SFD
L4 only
BREAK Break key pressed 0: Active
1: Inactive
ATN Sub-CPU attention signal
W Sub-CPU interface
Bit 7 6 5 4 3 2 1 0
Name FDCMODE KNJMODE 400CARD 400LINE IRQMODE
FDCMODE FDC mode 0: 1MB
1: 320KB
L4 only
KNJMODE Kanji ROM mode 0: SUB
1: MAIN
L4 only
400CARD 400-line card
(260k color mode for AV40?)
0: Enable(?)
1: Disable(?)
L4 only
400LINE 400-line mode 0: 400-line
1: 200-line
L4 only
IRQMODE IRQ mode 0: Normal
1: SFD
L4 only
$FD05 R Sub-CPU status, expansion status
Bit 7 6 5 4 3 2 1 0
Name BUSY EXTDET
BUSY Sub-CPU busy signal 0: Ready
1: Busy
EXTDET Expansion card presence 0: Present
1: Not present
W Sub-CPU status, expansion status
Bit 7 6 5 4 3 2 1 0
Name HALT CANSEL
HALT Halt sub-CPU execution 0: Run
1: Halt
CANSEL Send IRQ to sub-CPU 0: No
1: Yes
$FD06 RW RS-232 data
Bit 7 6 5 4 3 2 1 0
Name RS-232 data

Read to receive, write to transmit.

$FD07 RW RS-232 command and status (TODO)
$FD08 RW Light pen (TODO)
$FD09 RW Light pen (TODO)
$FD0A RW Light pen (TODO)
$FD0B R Boot switch status, RS-232 interface
Bit 7 6 5 4 3 2 1 0
Name CD MODE
CD RS-232 Carrier Detect 0: On
1: Off
AV20, AV40 only
MODE Boot mode switch 0: BASIC
1: DOS
AV only
W RS-232 interface configuration
Bit 7 6 5 4 3 2 1 0
Name CLKSEL BAUD
CLKSEL RS-232 clock select TODO AV20, AV40 only
BAUD RS-232 baud rate TODO AV20, AV40 only
$FD0C W RS-232 interface configuration
Bit 7 6 5 4 3 2 1 0
Name DTR ENABLE
DTR RS-232 DTR 0: Output
1: Prohibit
AV20, AV40 only
ENABLE RS-232 enable 0: Disable
1: Enable
AV20, AV40 only
$FD0D W PSG command register
$FD0E RW PSG data register
$FD0F RW ROM bank mode
Bit 7 6 5 4 3 2 1 0
Name MODE
MODE Change ROM bank status by access type Read: ROM
Write: RAM
$FD10 W Initiator ROM disable
Bit 7 6 5 4 3 2 1 0
Name INITROM
INITROM Initiator ROM enable 0: Enabled
1: Disabled
AV only