In article <3AA49C4F.CD67094D@swbell.net>, Rubywand wrote: >Dennis Jenkins writes ... >> > .... > > >ref. David Empson wrote .... >>> > >Have you seen a complete diagram of the 128K IIe memory map? It >certainly helps when trying to understand all this. Here is a rough >version (not to scale vertically). Nice memory map! It inspired me to draw a similar map explaining the memory usare of SoftCard CP/M: Apple II Softcard CP/M memory usage 0100H Z-80 address $0100 6502 address 44K CP/M: does not use Language Card 56K CP/M: uses Language Card, bank 2 only (TPA) 60K CP/M: uses Language Card: bank 2 for TPA, bank 1 for parts of BDOS+BIOS Note that the Apple II hi-res graphics screens are situated right in the middle of the Softcard CP/M TPA. Hi-res graphics programming on SoftCard CP/M therefore requires special precautions. Microsoft GBASIC solves this by reserving an 8K large memory area, right in the middle of the Basic interpreter, for hi-res graphics. Z80 addr 6502 addr ______________ ______________ 0000H |CP/M zero page| $1000 | | |______________| | | 0100H |CP/M TPA start| | | | | | | | | | | | | | | | | | | |______________| |______________| 1000H | | $2000 | | | | | | | | | Aux Hi-res | | CP/M TPA | | | | | | page 1X | | | | | | | | | |______________| |______________| 3000H | | $4000 | | | | | | | | | Aux Hi-res | | CP/M TPA | | | | | | page 2X | | | | | | | | | |______________| |______________| 5000H | | $6000 | | | | | | | CP/M TPA | | | | | | | | | | | | | | | ... ... | | | | | | | | | | | | | | | | | | | | |______________| | | 9400H | 44K BDOS | $A400 | | | starts here | | | | | | | | | | | | CP/M 56/60K | | | | TPA | | | | | | | | | | | | | | | | 44K BIOS end | | | AFFFH |______________| $BFFF |______________| ______________ B000H | | $D000 | || | | | | | | LC || LC | | | | | |bank 1||bank 2| | | | CP/M 56/60K | | || | | | | TPA | | 60K || Used | | | | | | BDOS+|| by | | | | | | BIOS || CP/M | | Applesoft | | | |______||______| | | C000H | | $E000 | | | BASIC | | | | | | | |______________| | | | ROM | C400H | 56K BDOS | $E400 | | | | | starts here | | | | | | | | Language | | | | | | | | | | | | Card | | | | | | | | | |______________| | | | | D400H | 60K BDOS | $F400 | | | | | starts here | | | |..............| D800H | | $F800 | | | Monitor | | 56K BIOS end | | | | ROM | |______________| |______________| |______________| DFFAH | 6502 vectors | $FFFA | 6502 vectors | | 6502 vectors | DFFFH |______________| $FFFF |______________| |______________| _____________ E000H $C000 | Motherboard | | I/O | |_____________| E090H $C090 | Slot I/O | | (DEVSEL) | |_____________| E100H $C100 | | | Slot CX ROM | | (IOSEL) | | | |_____________| E300H $C300 | Slot C3 ROM | | (IOSEL) | |_____________| E400H $C400 | | | | | Slot CX ROM | | (IOSEL) | | | | | | | |_____________| E800H $C800 | | | Slot ROM | | (IOSTROBE) | | | | shared | | between | | slots | EFFFH $CFFF |_____________| ______________ ______________ F000H | Unused by Z80| $0000 |6502 zero page| |______________| |______________| F100H | Unused by Z80| $0100 | 6502 stack | |______________| |______________| F200H | I/O cfg blk | $0200 | Keybd buff | | Device driv | |______________| F300H | Patch area | $0300 | Page 3 | |______________| |______________| F400H | | | | | | | | | Text/lores GR| | Text/lores GR| | | | | | | | page 1 | | | | | | | | | |______________| |______________| F800H | | $0800 | | | | | Text/lores GR| | CP/M | | | | | | page 2 | | RWTS | |______________| FC00H | | $0C00 | | | | | | | | | | FFFFH |______________| $0FFF |______________| -- ---------------------------------------------------------------- Paul Schlyter, Swedish Amateur Astronomer's Society (SAAF) Grev Turegatan 40, S-114 38 Stockholm, SWEDEN e-mail: pausch at saaf dot se or paul.schlyter at ausys dot se WWW: http://hotel04.ausys.se/pausch http://welcome.to/pausch