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: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 477: Line 477:
  | TODO
  | TODO
  | AV20, AV40 only
  | AV20, AV40 only
|}
<!-- ================================================================================ FD0C -->
|-
! colspan=3 |
|-
! rowspan=1 | $FD0C
| W
| RS-232 interface configuration
{| class="wikitable"
|-
! Bit !! 7 !! 6 !! 5 !! 4 !! 3 !! 2 !! 1 !! 0
|-
! Name
| colspan=5 style="background:#eaecf0" |
| DTR
| colspan=1 style="background:#eaecf0" |
| ENABLE
|}
{| class="wikitable"
|-
! DTR
| RS-232 DTR
| 0: Output<br>1: Prohibit
| AV20, AV40 only
|-
! ENABLE
| RS-232 enable
| 0: Disable<br>1: Enable
| AV20, AV40 only
|}
<!-- ================================================================================ FD0D -->
|-
! colspan=3 |
|-
! rowspan=1 | $FD0D
| W
| PSG command register
<!-- ================================================================================ FD0E -->
|-
! colspan=3 |
|-
! rowspan=1 | $FD0E
| RW
| PSG data register
<!-- ================================================================================ FD0F -->
|-
! colspan=3 |
|-
! rowspan=1 | $FD0F
| RW
| ROM bank mode
{| class="wikitable"
|-
! Bit !! 7 !! 6 !! 5 !! 4 !! 3 !! 2 !! 1 !! 0
|-
! Name
| colspan=8 | MODE
|}
{| class="wikitable"
|-
! MODE
| Change ROM bank status by access type
| Read: ROM<br>Write: RAM
|}
<!-- ================================================================================ FD10 -->
|-
! colspan=3 |
|-
! rowspan=1 | $FD10
| W
| Initiator ROM disable
{| class="wikitable"
|-
! Bit !! 7 !! 6 !! 5 !! 4 !! 3 !! 2 !! 1 !! 0
|-
! Name
| colspan=6 style="background:#eaecf0" |
| INITROM
| colspan=1 style="background:#eaecf0" |
|}
{| class="wikitable"
|-
! INITROM
| Initiator ROM enable
| 0: Enabled<br>1: Disabled
| AV only
  |}
  |}
<!-- ================================================================================ END -->
<!-- ================================================================================ END -->
|}
|}

Revision as of 12:43, 5 February 2024

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