mirror of
https://github.com/blondie7575/WeeGUI.git
synced 2025-01-04 20:29:57 +00:00
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:
parent
a08531343e
commit
80f6662ede
@ -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>
|
||||
|
2
Makefile
2
Makefile
@ -11,7 +11,7 @@
|
||||
|
||||
CL65=cl65
|
||||
AC=AppleCommander.jar
|
||||
ADDR=7800
|
||||
ADDR=4000
|
||||
ADDRDEMO=6000
|
||||
|
||||
PGM=weegui
|
||||
|
BIN
V2Make.scpt
BIN
V2Make.scpt
Binary file not shown.
@ -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
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
BIN
weegui.dsk
BIN
weegui.dsk
Binary file not shown.
35
weegui.s
35
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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user