The wiki has recently moved; please report any issues in Discord. Pardon the dust.
User:Trap15/fm7: Difference between revisions
mNo edit summary |
mNo edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Main RAM Physical Map == | |||
When MMR is disabled, all accesses are mapped to $30000~$3FFFF. | |||
{| class="wikitable" | |||
|- | |||
! Start !! End !! Detail | |||
|- | |||
| $00000 || $0FFFF | |||
| RAM | |||
|- | |||
| $10000 || $1FFFF | |||
| Sub-CPU RAM direct access<br>Only available while sub-CPU is halted. | |||
|- | |||
| $20000 || $2FFFF | |||
| RAM (AV40/AV40EX/AV40SX only) | |||
|- | |||
| $28000 || $29FFF | |||
| Dictionary backup RAM<br>Only present if enabled<br>If disabled, fall back to $20000~$2FFFF RAM | |||
|- | |||
| $2E000 || $2EFFF | |||
| Expansion ROM, or Dictionary ROM<br>If disabled, fall back to $20000~$2FFFF RAM | |||
{| class="wikitable | |||
|- | |||
! colspan=2 | Expansion ROM Banks | |||
|- | |||
! Bank !! Detail | |||
|- | |||
| $00~$1F || Kanji LV1 | |||
|- | |||
| $20~$2B || Dictionary extra ROM<br>(AV40/AV40EX/AV40SX only) | |||
|- | |||
| $38~$3F || Pass through to $38000<br>ROMs always enabled | |||
|} | |||
|- | |||
| $30000 || $3FBFF | |||
| RAM | |||
|- | |||
| $38000 || $3FBFF | |||
| BASIC ROM<br>If disabled, fall back to $30000~$3FBFF RAM | |||
|- | |||
| $3FC00 || $3FC7F | |||
| RAM (BIOS work area) | |||
|- | |||
| $3FC80 || $3FCFF | |||
| Sub-CPU share RAM<br>Only available while sub-CPU is halted. | |||
|- | |||
| $3FD00 || $3FDFF | |||
| Memory mapped I/O | |||
|- | |||
| $3FE00 || $3FFFF | |||
| Boot RAM<br>Unless set writable, only $3FFE0~$3FFFD are writable. | |||
|- | |||
| $40000 || $FFFFF | |||
| Expansion RAM (add-on) | |||
|} | |||
== Main I/O Map == | == Main I/O Map == | ||
Line 1,041: | Line 1,098: | ||
Select bank of MMR registers to use. This also selects the bank in the registers FD80~FD8F.<br> | 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> | 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 | By default, this is 2 bits wide. Enabling EXTMMR will increase to 3 bits. | ||
<!-- ================================================================================ FD92 --> | <!-- ================================================================================ FD92 --> | ||
|- | |- | ||
Line 1,056: | Line 1,113: | ||
| colspan=8 | OA15~OA8 | | colspan=8 | OA15~OA8 | ||
|} | |} | ||
Window allows accessing any area of the memory space $ | Window allows accessing any area of the physical memory space $00000~$0FFFF without adjusting the MMR.<br> | ||
When enabled, the memory area between $7C00~$7FFF is mapped to begin at OA, as specified above.<br> | When enabled, the virtual 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. | If accessing beyond the end of memory this way, the accessed address wraps to 0. | ||
<!-- ================================================================================ FD93 --> | <!-- ================================================================================ FD93 --> |
Latest revision as of 10:04, 6 February 2024
Main RAM Physical Map
When MMR is disabled, all accesses are mapped to $30000~$3FFFF.
Start | End | Detail | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
$00000 | $0FFFF | RAM | ||||||||||
$10000 | $1FFFF | Sub-CPU RAM direct access Only available while sub-CPU is halted. | ||||||||||
$20000 | $2FFFF | RAM (AV40/AV40EX/AV40SX only) | ||||||||||
$28000 | $29FFF | Dictionary backup RAM Only present if enabled If disabled, fall back to $20000~$2FFFF RAM | ||||||||||
$2E000 | $2EFFF | Expansion ROM, or Dictionary ROM If disabled, fall back to $20000~$2FFFF RAM
| ||||||||||
$30000 | $3FBFF | RAM | ||||||||||
$38000 | $3FBFF | BASIC ROM If disabled, fall back to $30000~$3FBFF RAM | ||||||||||
$3FC00 | $3FC7F | RAM (BIOS work area) | ||||||||||
$3FC80 | $3FCFF | Sub-CPU share RAM Only available while sub-CPU is halted. | ||||||||||
$3FD00 | $3FDFF | Memory mapped I/O | ||||||||||
$3FE00 | $3FFFF | Boot RAM Unless set writable, only $3FFE0~$3FFFD are writable. | ||||||||||
$40000 | $FFFFF | Expansion RAM (add-on) |
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 physical memory space $00000~$0FFFF 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
|