The current URL is datacrystal.tcrf.net.
User:Trap15/fm7: Difference between revisions
mNo edit summary |
mNo edit summary |
||
Line 1,037: | Line 1,037: | ||
|- | |- | ||
! Name | ! Name | ||
| colspan= | | colspan=8 | Segment | ||
|} | |} | ||
Select bank of MMR registers to use. This also selects the bank in the registers FD80~FD8F.<br> | |||
This can be used to quickly change memory spaces, and is designed for use in switching tasks in an operating system.<br> | |||
By default, this is 2 bits wide. Enabling EXTMMR will increase to 3 bits, though Takeda Toshiya's FM77AV40 emulator implies it increases to 4 bits? | |||
<!-- ================================================================================ FD92 --> | <!-- ================================================================================ FD92 --> | ||
|- | |- | ||
Line 1,055: | Line 1,056: | ||
| colspan=8 | OA15~OA8 | | colspan=8 | OA15~OA8 | ||
|} | |} | ||
Window allows accessing any area of the memory space $0000~$FFFF without adjusting the MMR.<br> | |||
When enabled, the memory area between $7C00~$7FFF is mapped to begin at OA, as specified above.<br> | |||
If accessing beyond the end of memory this way, the accessed address wraps to 0. | |||
<!-- ================================================================================ FD93 --> | <!-- ================================================================================ FD93 --> | ||
|- | |- | ||
Line 1,062: | Line 1,065: | ||
! rowspan=1 | $FD93 | ! rowspan=1 | $FD93 | ||
| RW | | RW | ||
| Mode select register | | Mode select register 1 | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Line 1,108: | Line 1,111: | ||
|- | |- | ||
! EXTMMR | ! EXTMMR | ||
| | | Expanded MMR | ||
| 0: Off<br/>1: On | | 0: Off<br/>1: On | ||
| AV40/AV40EX/AV40SX only | | AV40/AV40EX/AV40SX only | ||
Line 1,121: | Line 1,124: | ||
| 0: Slow<br/>1: Fast | | 0: Slow<br/>1: Fast | ||
| AV20/AV40 only | | AV20/AV40 only | ||
|} | |||
<!-- ================================================================================ FD95 --> | |||
|- | |||
! colspan=3 | | |||
|- | |||
! rowspan=1 | $FD95 | |||
| RW | |||
| Mode select register 2 | |||
{| class="wikitable" | |||
|- | |||
! Bit !! 7 !! 6 !! 5 !! 4 !! 3 !! 2 !! 1 !! 0 | |||
|- | |||
! Name | |||
| SUBDICT | |||
| colspan=3 style="background:#eaecf0" | | |||
| MMRSPD | |||
| colspan=3 style="background:#eaecf0" | | |||
|} | |||
{| class="wikitable" | |||
|- | |||
! SUBDICT | |||
| Select dictionary or expansion sub ROM | |||
| 0: Dictionary<br/>1: Expansion sub ROM | |||
| AV40EX/AV40SX only | |||
|- | |||
! MMRSPD | |||
| MMR high speed mode | |||
| 0: 625ns<br/>1: 500ns | |||
| AV40EX/AV40SX only | |||
|} | |||
<!-- ================================================================================ FD98 --> | |||
|- | |||
! colspan=3 | | |||
|- | |||
! rowspan=1 | $FD98 | |||
| W | |||
| DMAC address register | |||
{| class="wikitable" | |||
|- | |||
! Bit !! 7 !! 6 !! 5 !! 4 !! 3 !! 2 !! 1 !! 0 | |||
|- | |||
! Name | |||
| colspan=3 style="background:#eaecf0" | | |||
| colspan=5 | Address | |||
|} | |||
<!-- ================================================================================ FD99 --> | |||
|- | |||
! rowspan=1 | $FD99 | |||
| RW | |||
| DMAC data register | |||
{| class="wikitable" | |||
|- | |||
! Bit !! 7 !! 6 !! 5 !! 4 !! 3 !! 2 !! 1 !! 0 | |||
|- | |||
! Name | |||
| colspan=8 | Data | |||
|} | |} | ||
<!-- ================================================================================ END --> | <!-- ================================================================================ END --> | ||
|} | |} |
Revision as of 07:41, 6 February 2024
Main I/O Map
Address | R/W | Detail | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
$FD00 | R | Keyboard data high bit, and clock speed indicator
| ||||||||||||||||||||||||||||||||||||||||||||
W | Audio cassette and printer
| |||||||||||||||||||||||||||||||||||||||||||||
$FD01 | R | Keyboard data low 8 bits
| ||||||||||||||||||||||||||||||||||||||||||||
W | Printer output data
| |||||||||||||||||||||||||||||||||||||||||||||
$FD02 | R | Audio cassette and printer
| ||||||||||||||||||||||||||||||||||||||||||||
W | IRQ mask
| |||||||||||||||||||||||||||||||||||||||||||||
$FD03 | R | IRQ flags
| ||||||||||||||||||||||||||||||||||||||||||||
W | Buzzer
| |||||||||||||||||||||||||||||||||||||||||||||
$FD04 | R | Sub-CPU interface, FIRQ flags
| ||||||||||||||||||||||||||||||||||||||||||||
W | Sub-CPU interface
| |||||||||||||||||||||||||||||||||||||||||||||
$FD05 | R | Sub-CPU status, expansion status
| ||||||||||||||||||||||||||||||||||||||||||||
W | Sub-CPU status, expansion status
| |||||||||||||||||||||||||||||||||||||||||||||
$FD06 | RW | 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
| ||||||||||||||||||||||||||||||||||||||||||||
W | RS-232 interface configuration
| |||||||||||||||||||||||||||||||||||||||||||||
$FD0C | W | RS-232 interface configuration
| ||||||||||||||||||||||||||||||||||||||||||||
$FD0D | W | PSG command register | ||||||||||||||||||||||||||||||||||||||||||||
$FD0E | RW | PSG data register | ||||||||||||||||||||||||||||||||||||||||||||
$FD0F | RW | ROM bank mode
| ||||||||||||||||||||||||||||||||||||||||||||
$FD10 | W | Initiator ROM disable
| ||||||||||||||||||||||||||||||||||||||||||||
$FD12 | R | Sub monitor status register
| ||||||||||||||||||||||||||||||||||||||||||||
W | Sub monitor status register
| |||||||||||||||||||||||||||||||||||||||||||||
$FD13 | W | Sub-bank register
| ||||||||||||||||||||||||||||||||||||||||||||
$FD15 | W | FM control register | ||||||||||||||||||||||||||||||||||||||||||||
$FD16 | RW | FM data register | ||||||||||||||||||||||||||||||||||||||||||||
$FD17 | R | Interrupt flags
| ||||||||||||||||||||||||||||||||||||||||||||
W | Interrupt mask
| |||||||||||||||||||||||||||||||||||||||||||||
$FD18 | R | Floppy status register (TODO) | ||||||||||||||||||||||||||||||||||||||||||||
W | Floppy command register (TODO) | |||||||||||||||||||||||||||||||||||||||||||||
$FD19 | RW | Floppy track register | ||||||||||||||||||||||||||||||||||||||||||||
$FD1A | RW | Floppy sector register | ||||||||||||||||||||||||||||||||||||||||||||
$FD1B | RW | Floppy data register | ||||||||||||||||||||||||||||||||||||||||||||
$FD1C | R | Floppy head register | ||||||||||||||||||||||||||||||||||||||||||||
W | Floppy head and side register (TODO) | |||||||||||||||||||||||||||||||||||||||||||||
$FD1D | R | Floppy drive register | ||||||||||||||||||||||||||||||||||||||||||||
W | Floppy drive and control register (TODO) | |||||||||||||||||||||||||||||||||||||||||||||
$FD1E | RW | Floppy mode register (TODO) | ||||||||||||||||||||||||||||||||||||||||||||
$FD1F | R | Floppy IRQ register | ||||||||||||||||||||||||||||||||||||||||||||
$FD20 | W | Level 1 Kanji ROM address high byte | ||||||||||||||||||||||||||||||||||||||||||||
$FD21 | W | Level 1 Kanji ROM address low byte | ||||||||||||||||||||||||||||||||||||||||||||
$FD22 | R | Level 1 Kanji ROM data left byte | ||||||||||||||||||||||||||||||||||||||||||||
$FD23 | R | Level 1 Kanji ROM data right byte | ||||||||||||||||||||||||||||||||||||||||||||
$FD2C | W | Level 2 Kanji ROM address high byte (AV only) | ||||||||||||||||||||||||||||||||||||||||||||
$FD2D | W | Level 2 Kanji ROM address low byte (AV only) | ||||||||||||||||||||||||||||||||||||||||||||
$FD2E | R | Level 2 Kanji ROM data left byte (AV only) | ||||||||||||||||||||||||||||||||||||||||||||
$FD2F | R | Level 2 Kanji ROM data right byte (AV only) | ||||||||||||||||||||||||||||||||||||||||||||
$FD2E | W | Dictionary ROM bank select
| ||||||||||||||||||||||||||||||||||||||||||||
$FD30 | W | Analog palette color select
| ||||||||||||||||||||||||||||||||||||||||||||
$FD31 | W | Analog palette color select
| ||||||||||||||||||||||||||||||||||||||||||||
$FD32 | W | Analog palette blue level
| ||||||||||||||||||||||||||||||||||||||||||||
$FD33 | W | Analog palette red level
| ||||||||||||||||||||||||||||||||||||||||||||
$FD34 | W | Analog palette green level
| ||||||||||||||||||||||||||||||||||||||||||||
$FD37 | W | Multi-page
| ||||||||||||||||||||||||||||||||||||||||||||
$FD38 : $FD3F |
RW | Digital palette
| ||||||||||||||||||||||||||||||||||||||||||||
$FD80 : $FD8F |
RW | Memory Management Registers (MMR)
Remaps each 4K block to a new 4K block in a range of 1M. | ||||||||||||||||||||||||||||||||||||||||||||
$FD90 | W | MMR segment register
Select bank of MMR registers to use. This also selects the bank in the registers FD80~FD8F. | ||||||||||||||||||||||||||||||||||||||||||||
$FD92 | W | Window offset register
Window allows accessing any area of the memory space $0000~$FFFF without adjusting the MMR. | ||||||||||||||||||||||||||||||||||||||||||||
$FD93 | RW | Mode select register 1
| ||||||||||||||||||||||||||||||||||||||||||||
$FD94 | W | CPU Speed
| ||||||||||||||||||||||||||||||||||||||||||||
$FD95 | RW | Mode select register 2
| ||||||||||||||||||||||||||||||||||||||||||||
$FD98 | W | DMAC address register
| ||||||||||||||||||||||||||||||||||||||||||||
$FD99 | RW | DMAC data register
|