DeskTop: Consolidate aux/main code into single source, split out GUI library

This commit is contained in:
Joshua Bell 2018-01-04 14:18:24 -08:00
parent cd7182b975
commit aed07533e8
8 changed files with 5239 additions and 5238 deletions

View File

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

View File

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

View File

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