make desktop.s pull in desktop_res instead of extra indirection

This commit is contained in:
Joshua Bell 2019-01-20 11:27:52 -08:00
parent 560418779a
commit 5860cb493f
4 changed files with 29 additions and 29 deletions

View File

@ -8,25 +8,25 @@ more code segments swapped in dynamically.
The file is broken down into multiple segments:
| Purpose | File Offset | Bank | Address | Length | Sources |
|---------------|-------------|--------|--------------|--------|---------------------------|
| Loader | B$000000 | Main | A$2000-$257F | L$0580 | `loader.s` |
| MGTK/DeskTop | B$000580 | Aux | A$4000-$BFFF | L$8000 | `mgtk.s`, `desktop_aux.s` |
| DeskTop | B$008580 | Aux LC | A$D000-$ECFF | L$1D00 | `desktop_res.s` |
| DeskTop | B$00A280 | Aux LC | A$FB00-$FFFF | L$0500 | `desktop_res.s` |
| DeskTop | B$00A780 | Main | A$4000-$BEFF | L$7F00 | `desktop_main.s` |
| Initializer | B$012680 | Main | A$0800-$0FFF | L$0800 | `desktop_main.s` |
| Invoker | B$012E80 | Main | A$0290-$03EF | L$0160 | `invoker.s` |
| Disk Copy 1/4 | B$012FE0 | Main | A$0800-$09FF | L$0200 | `ovl1.s` |
| Disk Copy 2/4 | B$0131E0 | Main | A$1800-$19FF | L$0200 | `ovl1a.s` |
| Disk Copy 3/4 | B$0133E0 | Aux LC | A$D000-$F1FF | L$2200 | `ovl1b.s` |
| Disk Copy 4/4 | B$0155E0 | Main | A$0800-$12FF | L$0B00 | `ovl1c.s` |
| Format/Erase | B$0160E0 | Main | A$0800-$1BFF | L$1400 | `ovl2.s` |
| Selector 1/2 | B$0174E0 | Main | A$9000-$9FFF | L$1000 | `ovl3.s` |
| Common | B$0184E0 | Main | A$5000-$6FFF | L$2000 | `ovl4.s` |
| File Copy | B$01A4E0 | Main | A$7000-$77FF | L$0800 | `ovl5.s` |
| File Delete | B$01ACE0 | Main | A$7000-$77FF | L$0800 | `ovl6.s` |
| Selector 2/2 | B$01B4E0 | Main | A$7000-$77FF | L$0800 | `ovl7.s` |
| Purpose | File Offset | Bank | Address | Length | Sources |
|---------------|-------------|--------|--------------|--------|--------------------------------|
| Loader | B$000000 | Main | A$2000-$257F | L$0580 | `loader.s` |
| MGTK/DeskTop | B$000580 | Aux | A$4000-$BFFF | L$8000 | `mgtk.s`, `desktop_aux.s` |
| DeskTop | B$008580 | Aux LC | A$D000-$ECFF | L$1D00 | `desktop_lc.s`,`desktop_res.s` |
| DeskTop | B$00A280 | Aux LC | A$FB00-$FFFF | L$0500 | `desktop_res.s` |
| DeskTop | B$00A780 | Main | A$4000-$BEFF | L$7F00 | `desktop_main.s` |
| Initializer | B$012680 | Main | A$0800-$0FFF | L$0800 | `desktop_main.s` |
| Invoker | B$012E80 | Main | A$0290-$03EF | L$0160 | `invoker.s` |
| Disk Copy 1/4 | B$012FE0 | Main | A$0800-$09FF | L$0200 | `ovl1.s` |
| Disk Copy 2/4 | B$0131E0 | Main | A$1800-$19FF | L$0200 | `ovl1a.s` |
| Disk Copy 3/4 | B$0133E0 | Aux LC | A$D000-$F1FF | L$2200 | `ovl1b.s` |
| Disk Copy 4/4 | B$0155E0 | Main | A$0800-$12FF | L$0B00 | `ovl1c.s` |
| Format/Erase | B$0160E0 | Main | A$0800-$1BFF | L$1400 | `ovl2.s` |
| Selector 1/2 | B$0174E0 | Main | A$9000-$9FFF | L$1000 | `ovl3.s` |
| Common | B$0184E0 | Main | A$5000-$6FFF | L$2000 | `ovl4.s` |
| File Copy | B$01A4E0 | Main | A$7000-$77FF | L$0800 | `ovl5.s` |
| File Delete | B$01ACE0 | Main | A$7000-$77FF | L$0800 | `ovl6.s` |
| Selector 2/2 | B$01B4E0 | Main | A$7000-$77FF | L$0800 | `ovl7.s` |
(EOF is $01BCE0)
@ -91,7 +91,8 @@ data.
`desktop.s` which includes in:
* `desktop_aux.s`
* `desktop_lc.s` (which pulls in `desktop_res.s`)
* `desktop_lc.s`
* `desktop_res.s`
* `desktop_main.s`
DeskTop application code is in the lower 48k of both Aux and Main:
@ -110,7 +111,8 @@ main code) are relays, buffers and resources:
($C000-$CFFF is reserved for I/O, and main $BF page and language card is ProDOS)
`desktop_res.s` defines these common resources. It is built as part of
`desktop.s`.
`desktop.s`. Many additional resources needed for MGTK operations
exist in `desktop_aux.s` as well.
The DeskTop code in Aux primarily implements the actual desktop GUI,
drawing file icons in windows, volume icons on the desktop, handling

View File

@ -19,6 +19,7 @@
.include "desktop_aux.s"
.include "desktop_lc.s"
.include "desktop_res.s"
.include "desktop_main.s"
.include "invoker.s"

View File

@ -5,7 +5,7 @@
;;; ============================================================
;;; ============================================================
;;; Segment loaded into AUX $D000-$FFFF
;;; Segment loaded into AUX $D000-$D1FF
;;; ============================================================
.org $D000
@ -255,9 +255,4 @@ op: lda dummy1234
;;; ============================================================
.assert * = $D166, error, "Segment length mismatch"
PAD_TO $D200
.include "desktop_res.s"
PAD_TO $10000

View File

@ -1,7 +1,7 @@
;;; ============================================================
;;; DeskTop - Resources
;;;
;;; Compiled as part of desktop.s via desktop_lc.s
;;; Compiled as part of desktop.s
;;; ============================================================
;;; ============================================================
@ -1719,4 +1719,6 @@ app_mask:
.byte px(%0000000),px(%0000000),px(%0011000),px(%0000000),px(%0000000)
;; Reserve $80 bytes for settings
PAD_TO $FF80
PAD_TO $FF80
PAD_TO $10000