diff --git a/Documentation.md b/Documentation.md index dc7b69b..f506c79 100644 --- a/Documentation.md +++ b/Documentation.md @@ -75,16 +75,15 @@ With either language, WeeGUI protects itself using ProDOS's memory page reservat ####Memory Map -WeeGUI is 6k in size, and lives at the top of main memory, right under ProDOS. For an experimental version that lives primarily in the auxiliary memory bank, see Appendix A. +WeeGUI is about 7k in size, and lives on top of the second hires page. The assumption is that, if you're making an 80-column-text-based GUI program, you don't _also_ need fancy hi-res page flipping animations. For an experimental version that lives primarily in the auxiliary memory bank, see Appendix A. - - - - - + + + +
$FFFF
...
$BFFFProDOS
$9600ProDOS
$95FFWeeGUI
$7B00WeeGUI
$7AFFHIMEM
$9600-$BFFFProDOS
$5B0F-$95FFApplesoft
$4000-$5B0EWeeGUI
$3FFFHi-Res 1
...
$0000
diff --git a/Makefile b/Makefile index 85be004..7e35274 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ CL65=cl65 AC=AppleCommander.jar -ADDR=7800 +ADDR=4000 ADDRDEMO=6000 PGM=weegui diff --git a/V2Make.scpt b/V2Make.scpt index b190355..450912d 100644 Binary files a/V2Make.scpt and b/V2Make.scpt differ diff --git a/WeeGUI_MLI.s b/WeeGUI_MLI.s index 240d839..4b09b3e 100644 --- a/WeeGUI_MLI.s +++ b/WeeGUI_MLI.s @@ -21,7 +21,7 @@ PARAM3 = $09 ; WeeGUI entry point ; Set up your call, then do a JSR to this address. ; -WeeGUI = $7804 ; Offset of WGDispatch from 7800 +WeeGUI = $4004 ; Offset of WGDispatch from 4000 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/weegui.dsk b/weegui.dsk index b4221e2..3dadced 100644 Binary files a/weegui.dsk and b/weegui.dsk differ diff --git a/weegui.s b/weegui.s index 40d7dfb..026741f 100644 --- a/weegui.s +++ b/weegui.s @@ -7,7 +7,7 @@ ; -.org $7800 +.org $4000 ; Common definitions @@ -80,39 +80,10 @@ WGEntryPointTable: WGInit: SAVE_AXY - ; Reserve our memory in the ProDOS allocator bitmap - ; - ; See section 5.1.4 in the ProDOS 8 Technical Reference Manual - ; for an explanation of these values. We're reserving memory - ; pages $78-$94 so that ProDOS won't use our memory for file - ; buffers, or allow Applesoft to step on us - ; - ; Byte in System Bitmap : Bit within byte - ; 0f:100 - ; 0f:011 - ; 0f:010 - ; 0f:001 - ; 0f:000 - ; 10:111 .. 10:000 - ; 11:111 .. 11:000 - ; 12:111 - ; 12:110 - ; 12:101 - ; 12:100 - ; 12:011 - ; 12:010 -; lda #%00001111 -; tsb MEMBITMAP + $0f -; lda #%11111111 -; tsb MEMBITMAP + $10 -; tsb MEMBITMAP + $11 -; lda #%11111100 -; tsb MEMBITMAP + $12 - ; Protect us from Applesoft by setting up HIMEM -; lda #$78 ; 7800 (really 77ff) +; lda #$3f ; 4000 (really 3fff) ; sta LINNUMH -; lda #$00 +; lda #$ff ; sta LINNUML ; jsr SETHI