Moved WeeGUI to HGR2 in memory

Trying to co-exist with ProDOS, BASIC.SYSTEM and Applesoft at the top of memory was giving me too many gray hairs. WeeGUI apps shouldn’t need the HGR2 page, so we’re going to live there from now on.
This commit is contained in:
blondie7575 2018-01-06 17:50:22 -08:00
parent a08531343e
commit 80f6662ede
6 changed files with 10 additions and 40 deletions

View File

@ -75,16 +75,15 @@ With either language, WeeGUI protects itself using ProDOS's memory page reservat
####Memory Map ####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.
<table align="center"> <table align="center">
<tr><td>$FFFF</td><td></td></tr> <tr><td>$FFFF</td><td></td></tr>
<tr><td></td><td>...</td></tr> <tr><td></td><td>...</td></tr>
<tr><td>$BFFF</td><td>ProDOS</td></tr> <tr><td>$9600-$BFFF</td><td>ProDOS</td></tr>
<tr><td>$9600</td><td>ProDOS</td></tr> <tr><td>$5B0F-$95FF</td><td>Applesoft</td></tr>
<tr><td>$95FF</td><td>WeeGUI</td></tr> <tr><td>$4000-$5B0E</td><td>WeeGUI</td></tr>
<tr><td>$7B00</td><td>WeeGUI</td></tr> <tr><td>$3FFF</td><td>Hi-Res 1</td></tr>
<tr><td>$7AFF</td><td>HIMEM</td></tr>
<tr><td></td><td>...</td></tr> <tr><td></td><td>...</td></tr>
<tr><td>$0000</td><td></td></tr> <tr><td>$0000</td><td></td></tr>
</table> </table>

View File

@ -11,7 +11,7 @@
CL65=cl65 CL65=cl65
AC=AppleCommander.jar AC=AppleCommander.jar
ADDR=7800 ADDR=4000
ADDRDEMO=6000 ADDRDEMO=6000
PGM=weegui PGM=weegui

Binary file not shown.

View File

@ -21,7 +21,7 @@ PARAM3 = $09
; WeeGUI entry point ; WeeGUI entry point
; Set up your call, then do a JSR to this address. ; 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
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Binary file not shown.

View File

@ -7,7 +7,7 @@
; ;
.org $7800 .org $4000
; Common definitions ; Common definitions
@ -80,39 +80,10 @@ WGEntryPointTable:
WGInit: WGInit:
SAVE_AXY 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 ; Protect us from Applesoft by setting up HIMEM
; lda #$78 ; 7800 (really 77ff) ; lda #$3f ; 4000 (really 3fff)
; sta LINNUMH ; sta LINNUMH
; lda #$00 ; lda #$ff
; sta LINNUML ; sta LINNUML
; jsr SETHI ; jsr SETHI