If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working soon.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
User:Trap15/fm7sub: Difference between revisions
Jump to navigation
Jump to search
(Initial) |
mNo edit summary |
||
Line 69: | Line 69: | ||
|} | |} | ||
<!-- ================================================================================ D401 --> | <!-- ================================================================================ D401 --> | ||
|- | |- | ||
! rowspan=1 | $D401 | ! rowspan=1 | $D401 | ||
Line 125: | Line 123: | ||
|} | |} | ||
CSCP emulator implies this port interacts with the 400 line board config. | CSCP emulator implies this port interacts with the 400 line board config. | ||
<!-- ================================================================================ D406 --> | |||
|- | |||
! colspan=3 | | |||
|- | |||
! rowspan=2 | $D406 | |||
| R | |||
| Kanji ROM data left byte | |||
|- | |||
| W | |||
| Kanji ROM address high byte | |||
<!-- ================================================================================ D407 --> | |||
|- | |||
! rowspan=2 | $D407 | |||
| R | |||
| Kanji ROM data right byte | |||
|- | |||
| W | |||
| Kanji ROM address low byte | |||
<!-- ================================================================================ D408 --> | |||
|- | |||
! colspan=3 | | |||
|- | |||
! rowspan=2 | $D408 | |||
| R | |||
| Turn display on | |||
|- | |||
| W | |||
| Turn display off (show only black) | |||
<!-- ================================================================================ D409 --> | |||
|- | |||
! colspan=3 | | |||
|- | |||
! rowspan=2 | $D409 | |||
| R | |||
| Allow access to VRAM<br>When in Slow performance mode, this reduces performance to ~1/3 | |||
|- | |||
| W | |||
| Disable access to VRAM | |||
<!-- ================================================================================ D40A --> | |||
|- | |||
! colspan=3 | | |||
|- | |||
! rowspan=2 | $D40A | |||
| R | |||
| Clear BUSY flag to main CPU | |||
|- | |||
| W | |||
| Set BUSY flag to main CPU | |||
<!-- ================================================================================ D40B --> | |||
|- | |||
! colspan=3 | | |||
|- | |||
! rowspan=1 | $D40B | |||
| RW | |||
| 400-line card I/O | |||
<!-- ================================================================================ D40C --> | |||
|- | |||
! rowspan=1 | $D40C | |||
| RW | |||
| 400-line card I/O | |||
<!-- ================================================================================ D40D --> | |||
|- | |||
! colspan=3 | | |||
|- | |||
! rowspan=2 | $D40D | |||
| R | |||
| Turn on INS LED on keyboard (?) | |||
|- | |||
| W | |||
| Turn off INS LED on keyboard (?) | |||
<!-- ================================================================================ D40E --> | |||
|- | |||
! colspan=3 | | |||
|- | |||
! rowspan=1 | $D40E | |||
| W | |||
| VRAM offset address high byte | |||
{| class="wikitable" | |||
|- | |||
! Bit !! 7 !! 6 !! 5 !! 4 !! 3 !! 2 !! 1 !! 0 | |||
|- | |||
! Name | |||
| colspan=1 style="background:#eaecf0" | | |||
| OA14 | |||
| OA13 | |||
| OA12 | |||
| OA11 | |||
| OA10 | |||
| OA9 | |||
| OA8 | |||
|} | |||
OA14 only available in 400-line mode. | |||
<!-- ================================================================================ D40F --> | |||
|- | |||
! rowspan=1 | $D40F | |||
| W | |||
| VRAM offset address low byte | |||
{| class="wikitable" | |||
|- | |||
! Bit !! 7 !! 6 !! 5 !! 4 !! 3 !! 2 !! 1 !! 0 | |||
|- | |||
! Name | |||
| OA7 | |||
| OA6 | |||
| OA5 | |||
| OA4 | |||
| OA3 | |||
| OA2 | |||
| OA1 | |||
| OA0 | |||
|} | |||
OA4~OA0 only available on L4 and AV when enabled in $D430.<br> | |||
Together with $D40E, determines VRAM access offset.<br> | |||
This offset is used both for the CPU and the display. | |||
<!-- ================================================================================ END --> | <!-- ================================================================================ END --> | ||
|} | |} |
Revision as of 16:25, 9 February 2024
Sub RAM Physical Map
Start | End | Detail |
---|---|---|
$0000 | $BFFF | GVRAM |
$C000 | $CFFF | "Console" RAM Bankable on AV40 |
$D000 | $D37F | "Work" RAM |
$D380 | $D3FF | Shared RAM |
$D400 | $D4FF | Memory mapped I/O |
$D500 | $D7FF | RAM AV only |
$D800 | $DFFF | Subsystem CG RAM Other than AV40, this is ROM |
$E000 | $FFFF | Subsystem RAM Other than AV40, this is ROM |
Sub I/O Map
Address mask depends on machine. This table goes from most to least specific. If it's not covered, fall through.
Machine | Mask |
---|---|
AV40EX/AV40SX | $FF |
AV | $3F |
Other | $0F |
Address | R/W | Detail | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
$D400 | R | Keyboard data high bit
| |||||||||||||||||||||
$D401 | R | Keyboard data low 8 bits
| |||||||||||||||||||||
$D402 | R | Acknowledge IRQ from main CPU | |||||||||||||||||||||
$D403 | R | One-shot buzzer | |||||||||||||||||||||
$D404 | R | Send attention IRQ to main CPU | |||||||||||||||||||||
$D405 | W | Sub-CPU mode
CSCP emulator implies this port interacts with the 400 line board config. | |||||||||||||||||||||
$D406 | R | Kanji ROM data left byte | |||||||||||||||||||||
W | Kanji ROM address high byte | ||||||||||||||||||||||
$D407 | R | Kanji ROM data right byte | |||||||||||||||||||||
W | Kanji ROM address low byte | ||||||||||||||||||||||
$D408 | R | Turn display on | |||||||||||||||||||||
W | Turn display off (show only black) | ||||||||||||||||||||||
$D409 | R | Allow access to VRAM When in Slow performance mode, this reduces performance to ~1/3 | |||||||||||||||||||||
W | Disable access to VRAM | ||||||||||||||||||||||
$D40A | R | Clear BUSY flag to main CPU | |||||||||||||||||||||
W | Set BUSY flag to main CPU | ||||||||||||||||||||||
$D40B | RW | 400-line card I/O | |||||||||||||||||||||
$D40C | RW | 400-line card I/O | |||||||||||||||||||||
$D40D | R | Turn on INS LED on keyboard (?) | |||||||||||||||||||||
W | Turn off INS LED on keyboard (?) | ||||||||||||||||||||||
$D40E | W | VRAM offset address high byte
OA14 only available in 400-line mode. | |||||||||||||||||||||
$D40F | W | VRAM offset address low byte
OA4~OA0 only available on L4 and AV when enabled in $D430. |