mirror of
https://github.com/mi57730/a2d.git
synced 2025-01-21 02:34:03 +00:00
DeskTop: Consolidate aux/main code into single source, split out GUI library
This commit is contained in:
parent
cd7182b975
commit
aed07533e8
@ -3,7 +3,7 @@ CC65 = ~/dev/cc65/bin
|
||||
CAFLAGS = --target apple2enh --list-bytes 0
|
||||
CCFLAGS = --config asm.cfg
|
||||
|
||||
TARGETS = s0_loader.built s123_aux.built s4_main1.built
|
||||
TARGETS = loader.built a2d.built desktop.built
|
||||
|
||||
.PHONY: clean all
|
||||
all: $(TARGETS)
|
||||
@ -21,6 +21,6 @@ clean:
|
||||
$(CC65)/ld65 $(CCFLAGS) -o $@ $<
|
||||
|
||||
check:
|
||||
diff s0_loader.built orig/DESKTOP2_s0_loader
|
||||
diff s123_aux.built orig/DESKTOP2_s123_aux
|
||||
diff s4_main1.built orig/DESKTOP2_s4_main1
|
||||
diff loader.built orig/DESKTOP2_s0_loader
|
||||
diff a2d.built orig/DESKTOP2_s1_a2d
|
||||
diff desktop.built orig/DESKTOP2_s2_desktop
|
||||
|
@ -29,6 +29,8 @@ The file is broken down into multiple segments:
|
||||
|
||||
### GUI Library "A2D"
|
||||
|
||||
`a2d.s`
|
||||
|
||||
AUX $4000-$8DFF is the GUI library used for the DeskTop application
|
||||
and (presumably) for disk copy and Selector apps (TBD).
|
||||
|
||||
@ -38,12 +40,14 @@ Entry point is $4000 with a ProDOS MLI-style calling convention
|
||||
|
||||
### "DeskTop" Application
|
||||
|
||||
`desktop.s`
|
||||
|
||||
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:
|
||||
...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
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,19 +1,11 @@
|
||||
# Configuration for assembler programs which don't need a special setup
|
||||
|
||||
FEATURES {
|
||||
STARTADDRESS: default = $0803;
|
||||
STARTADDRESS: default = $4000;
|
||||
}
|
||||
MEMORY {
|
||||
ZP: file = "", start = $0000, size = $00FF;
|
||||
HEADER: file = %O, start = %S - 4, size = $0004;
|
||||
MAIN: file = %O, define = yes, start = %S, size = $C000 - %S;
|
||||
BSS: file = "", start = __MAIN_LAST__, size = $C000 - __MAIN_LAST__;
|
||||
MAIN: file = %O, define = yes, start = %S, size = $20000; # 128k; custom loader handles details
|
||||
}
|
||||
SEGMENTS {
|
||||
ZEROPAGE: load = ZP, type = zp, optional = yes;
|
||||
EXEHDR: load = HEADER, type = ro, optional = yes;
|
||||
CODE: load = MAIN, type = rw;
|
||||
RODATA: load = MAIN, type = ro, optional = yes;
|
||||
DATA: load = MAIN, type = rw, optional = yes;
|
||||
BSS: load = BSS, type = bss, optional = yes, define = yes;
|
||||
CODE: load = MAIN, type = rw;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user