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
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">
<tr><td>$FFFF</td><td></td></tr>
<tr><td></td><td>...</td></tr>
<tr><td>$BFFF</td><td>ProDOS</td></tr>
<tr><td>$9600</td><td>ProDOS</td></tr>
<tr><td>$95FF</td><td>WeeGUI</td></tr>
<tr><td>$7B00</td><td>WeeGUI</td></tr>
<tr><td>$7AFF</td><td>HIMEM</td></tr>
<tr><td>$9600-$BFFF</td><td>ProDOS</td></tr>
<tr><td>$5B0F-$95FF</td><td>Applesoft</td></tr>
<tr><td>$4000-$5B0E</td><td>WeeGUI</td></tr>
<tr><td>$3FFF</td><td>Hi-Res 1</td></tr>
<tr><td></td><td>...</td></tr>
<tr><td>$0000</td><td></td></tr>
</table>

View File

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

Binary file not shown.

View File

@ -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
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Binary file not shown.

View File

@ -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