From e1c2ac5b730916aa9313b95916cd343d26ba6a40 Mon Sep 17 00:00:00 2001 From: Joshua Bell Date: Sun, 31 Dec 2017 12:53:53 -0800 Subject: [PATCH] Add memory map --- desktop/README.md | 72 ++++++++++++++++++++++++++++++++++++++++++++-- desktop/s123_aux.s | 4 +-- 2 files changed, 71 insertions(+), 5 deletions(-) diff --git a/desktop/README.md b/desktop/README.md index bef77ce..b2a0383 100644 --- a/desktop/README.md +++ b/desktop/README.md @@ -38,6 +38,72 @@ Entry point is $4000 with a ProDOS MLI-style calling convention ### "DeskTop" Application -AUX $8E00-$FFFF (with hole at $C000-$CFFF for I/O and at $ED00-$FAFF for -data buffer) is the DeskTop application itself, with desktop and file -icons, menus, dialogs, and so on. +DeskTop application code is in the lower 48k of both Aux and Main: + +* Aux $8E00-$BFFF - sitting above the GUI library +* Main $4000-$BEFF + +And in the Aux language card area (accessible from both aux and main code) are relays, buffers and resources: + +* Aux $D000-$ECFF - relays and other aux/main helpers, resources (menus, strings, window) +* Aux $ED00-$FAFF - hole for data buffer +* Aux $FB00-$FFFF - more resources (file types, icons) + +($C000-$CFFF is reserved for I/O, and main $BF page and language card is ProDOS) + +``` + Main Aux ROM +$FFFF +------------+ +------------+ +------------+ + | ProDOS | | DeskTop | | Monitor | +$F800 | | | Resources/ | +------------+ + | | | Buffers | | Applesoft | + | | | | | | + | | | | | | + | | | | | | +$D000 +------------+ +------------+ +------------+ +------------+ + | I/O | + | | +$C000 +------------+ +------------+ +------------+ + | ProDOS | | DeskTop | +$BF00 +------------+ | App Code | + | DeskTop | | | + | App Code | | | + | | | | + | | | | + | | | | + | | | | + | | | | +$8E00 | | +------------+ + | | | A2D GUI | + | | | Library | + | | | | + | | | | + | | | | + | | | | + | | | | + | | | | +$4000 +------------+ +------------+ + | Graphics | | Graphics | + | | | | + | | | | + | | | | + | | | | + | | | | + | | | | + | | | | +$2000 +------------+ +------------+ + | Desk Acc | | Desk Acc | + | | | | + | | | | +$0800 +------------+ +------------+ + | Text | | Text | +$0400 +------------+ +------------+ + | | | | +$0300 +------------+ +------------+ + | Input Buf | | Input Buf | +$0200 +------------+ +------------+ + | Stack | | Stack | +$0100 +------------+ +------------+ + | Zero Page | | Zero Page | +$0000 +------------+ +------------+ +``` diff --git a/desktop/s123_aux.s b/desktop/s123_aux.s index 4918320..0625e78 100644 --- a/desktop/s123_aux.s +++ b/desktop/s123_aux.s @@ -9308,7 +9308,7 @@ glyph_bitmaps: .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00 -.endproc +.endproc ; a2d .proc desktop ;;; ================================================== @@ -14477,7 +14477,7 @@ app_mask: .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0000000) .res 70, 0 -.endproc +.endproc ; desktop desktop_LD05E := desktop::LD05E desktop_A2D_RELAY := desktop::A2D_RELAY desktop_win18_state := desktop::win18::state