Skip to content

Commit 7ded189

Browse files
This Apple DA: Paint top-down
Iterating high to low is common on the 6502, but in this case it is visually distracting to paint the higher number slots first since that means drawing bottom-up. So reverse the order of iteration.
1 parent a91c1dd commit 7ded189

1 file changed

Lines changed: 30 additions & 18 deletions

File tree

src/desk_acc/this.apple.s

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1249,18 +1249,21 @@ egg: .byte 0
12491249
JUMP_TABLE_MGTK_CALL MGTK::SetPort, aux::grafport
12501250
JUMP_TABLE_MGTK_CALL MGTK::HideCursor
12511251

1252+
;; Model
1253+
12521254
copy16 model_pix_ptr, bits_addr
12531255
JUMP_TABLE_MGTK_CALL MGTK::SetPenMode, aux::notpencopy
12541256
JUMP_TABLE_MGTK_CALL MGTK::PaintBits, SELF_MODIFIED, bits_addr
12551257

12561258
JUMP_TABLE_MGTK_CALL MGTK::MoveTo, aux::model_pos
12571259
CALL DrawStringFromMain, AX=model_str_ptr
12581260

1261+
;; ProDOS version
1262+
12591263
JUMP_TABLE_MGTK_CALL MGTK::MoveTo, aux::pdver_pos
12601264
CALL DrawStringFromMain, AX=#str_prodos_version
12611265

1262-
JUMP_TABLE_MGTK_CALL MGTK::MoveTo, aux::line1
1263-
JUMP_TABLE_MGTK_CALL MGTK::LineTo, aux::line2
1266+
;; Memory
12641267

12651268
JUMP_TABLE_MGTK_CALL MGTK::MoveTo, aux::mem_pos
12661269
CALL DrawStringFromMain, AX=#str_memory_prefix
@@ -1274,8 +1277,29 @@ egg: .byte 0
12741277
jsr CPUId
12751278
jsr DrawStringFromMain
12761279

1277-
copy8 #7, slot
1278-
copy8 #1<<7, mask
1280+
;; Separator
1281+
1282+
JUMP_TABLE_MGTK_CALL MGTK::MoveTo, aux::line1
1283+
JUMP_TABLE_MGTK_CALL MGTK::LineTo, aux::line2
1284+
1285+
;; Aux Slot
1286+
1287+
JUMP_TABLE_MGTK_CALL MGTK::MoveTo, aux::pos_aux
1288+
CALL DrawStringRightFromMain, AX=#str_aux
1289+
ldax #str_80col
1290+
ldy rw_banks
1291+
IF Y <> #1
1292+
ldax #str_ramworks
1293+
END_IF
1294+
CALL DrawStringFromMain
1295+
CALL DrawStringFromMain, AX=#str_ramworks_prefix
1296+
CALL DrawStringFromMain, AX=#str_ramworks_memory
1297+
CALL DrawStringFromMain, AX=#str_memory_kb_suffix
1298+
1299+
;; Slots 1-7
1300+
1301+
copy8 #1, slot
1302+
copy8 #1 << 1, mask
12791303

12801304
DO
12811305
lda slot
@@ -1356,20 +1380,8 @@ draw_maybe_sp:
13561380
END_IF
13571381
END_IF
13581382

1359-
lsr mask
1360-
WHILE dec slot : NOT ZERO
1361-
1362-
JUMP_TABLE_MGTK_CALL MGTK::MoveTo, aux::pos_aux
1363-
CALL DrawStringRightFromMain, AX=#str_aux
1364-
ldax #str_80col
1365-
ldy rw_banks
1366-
IF Y <> #1
1367-
ldax #str_ramworks
1368-
END_IF
1369-
CALL DrawStringFromMain
1370-
CALL DrawStringFromMain, AX=#str_ramworks_prefix
1371-
CALL DrawStringFromMain, AX=#str_ramworks_memory
1372-
CALL DrawStringFromMain, AX=#str_memory_kb_suffix
1383+
asl mask
1384+
WHILE inc slot : lda slot : A < #8
13731385

13741386
JUMP_TABLE_MGTK_CALL MGTK::ShowCursor
13751387
rts

0 commit comments

Comments
 (0)