mirror of
https://github.com/TomHarte/CLK.git
synced 2024-09-29 00:56:21 +00:00
Attempts a language clean-up.
parent
dac413ceef
commit
2ce3370ebb
@ -2,28 +2,42 @@ The Apple IIgs has a 24-bit address space, which is conventionally broken down i
|
||||
|
||||
# Banks $F0–$FF: ROM
|
||||
|
||||
The final 16 banks are set aside for up to one megabyte of ROM; the built-in ROMs for the IIgs were initially 128kb and later 256kb in size and in both cases they appear at the end of the ROM area.
|
||||
The final 16 banks are set aside for up to one megabyte of ROM.
|
||||
|
||||
The built-in ROMs for the IIgs were initially 128kb, and later 256kb. In both cases they fill the end of the ROM area.
|
||||
|
||||
ROM access is always 'fast' — access windows are five cycles of the 14Mhz clock.
|
||||
|
||||
# Banks $E0 and $E1: Mega II RAM, card access
|
||||
|
||||
Banks $E0 and $E1 access memory via the IIe-emulating Mega II chip. Bank $E0 contains main RAM and bank $E1 contains auxiliary RAM. They are subject to language-card banking only. The video buffer always natively lives in this area.
|
||||
Banks $E0 and $E1 access memory via the IIe-emulating Mega II chip. Bank $E0 contains main RAM and bank $E1 contains auxiliary RAM. They are subject to language-card banking only.
|
||||
|
||||
Both reads and writes are performed via the Mega II so are 'slow' — access windows are usually fourteen cycles of the 14Mhz clock though every 64th is stretched to sixteen cycles as per the original hardware to ensure that IIe-style video remains in phase with the NTSC colour subcarrier.
|
||||
The video buffer always lives in this area.
|
||||
|
||||
Both reads and writes are performed via the Mega II so are 'slow' — access windows are fourteen cycles of the 14Mhz clock, with one exception: every 64th window is sixteen cycles.
|
||||
|
||||
The extended 64th window ensures that video remains in phase with the NTSC colour subcarrier.
|
||||
|
||||
# Banks $02–$7f: Fast RAM
|
||||
|
||||
Banks $02–$7f contain regular system RAM and are not subject to paging or other rearrangement.
|
||||
|
||||
RAM access is 'fast' — windows are five cycles of the 14Mhz clock — but one window in ten is lost to memory refresh.
|
||||
RAM access is 'fast' — windows are five cycles of the 14Mhz clock, though one window in ten is lost to memory refresh.
|
||||
|
||||
# Primarily banks $00 and $01: Some ROM, Fast RAM and Shadowing
|
||||
|
||||
The first 128kb of fast RAM occupies banks $00 and $01.
|
||||
|
||||
Language card banking affects both pages; other auxiliary/main selections may expose parts of bank $01 within bank $00. Regardless of language card setting, the 65816's VPB (i.e. vector pull) signal selects ROM rather than RAM.
|
||||
Language card banking affects both pages; other auxiliary/main selections may expose parts of bank $01 within bank $00.
|
||||
|
||||
Parts of the pages may additionally be shadowed up to corresponding regions of $e0 and $e1, i.e. to act as a write-through cache, depending on the register at $c035. Auxiliary paging is applied before shadowing so a write to bank $00 that ends up being redirected to $01 will be shadowed to $e1 if shadowing is enabled.
|
||||
Parts of these pages may additionally be shadowed to corresponding regions of $e0 and $e1. Auxiliary paging is applied before shadowing, so a write to bank $00 that is redirected to $01 will be shadowed to $e1.
|
||||
|
||||
The speed register at $c036 also has a bank shadowing control bit; if bit 4 is set to 1 then shadowing will apply in all banks, based only upon the lowest address line. Otherwise it will apply in banks $01 and $02 only.
|
||||
# Additional Shadowing Options
|
||||
|
||||
Bit 4 of the speed register can enable shadowing in all banks, based only upon address line 16. It will otherwise it will apply in banks $01 and $02 only.
|
||||
|
||||
Orthogonally, bit 0 of the new video register permits address line 16 to be blocked for shadowing. In that case all shadowed writes will be directed to bank $e0.
|
||||
|
||||
# Special Case: Vector Pull
|
||||
|
||||
The 65816's VPB (i.e. vector pull) signal always selects the final page of ROM.
|
Loading…
Reference in New Issue
Block a user