DeskTop: Strings and icons in seg2

This commit is contained in:
Joshua Bell 2017-09-28 08:45:05 -07:00
parent ec18ec8c44
commit d2bb4f12f2
9 changed files with 891 additions and 5766 deletions

View File

@ -468,8 +468,11 @@ end:
.endmacro
.macro PASCAL_STRING str ; Length-prefixed string
.byte .strlen(str)
.byte str
.local data ; Can include control chars by using:
.local end ; A2D_DEFSTRING {"abc",$0D,"def"}
.byte end - data
data: .byte str
end:
.endmacro
;;; Define pattern for A2D_DRAW_BITMAP - low 7 bits are reversed
@ -540,3 +543,4 @@ end:
A2D_GLYPH_UARROW := $0B
A2D_GLYPH_DARROW := $0A
A2D_GLYPH_RETURN := $0D
A2D_GLYPH_OAPPLE := $1F

View File

@ -15,24 +15,24 @@ function daseg {
function asmseg {
$CC65/ca65 $CAFLAGS --listing "$1.list" -o "$1.o" "$1.s"
$CC65/ld65 $LDFLAGS -o "$1.built" "$1.o"
diff "orig/DESKTOP2_$1" "$1.built"
diff "orig/DESKTOP2_$1" "$1.built" && echo "$1 ok"
}
daseg s0_loader 2000
asmseg s0_loader 2000
#daseg s0_loader 2000
#asmseg s0_loader 2000
daseg s1_aux1 4000
asmseg s1_aux1 4000
#daseg s1_aux1 4000
#asmseg s1_aux1 4000
daseg s2_aux2 D000
# s2 has been disassembled by hand
asmseg s2_aux2 D000
# s3 has been disassembled by hand
asmseg s3_aux3 D000
daseg s4_main1 4000
asmseg s4_main1 4000
#daseg s4_main1 4000
#asmseg s4_main1 4000
#daseg 12680_1BCDF
#asmseg 12680_1BCDF

View File

@ -18,20 +18,8 @@ LABEL { NAME "A2D"; ADDR $4000; };
LABEL { NAME "UNKNOWN_CALL"; ADDR $8E00; };
LABEL { NAME "MLI"; ADDR $BF00; };
LABEL { NAME "FSUB"; ADDR $E7A7; };
LABEL { NAME "FADD"; ADDR $E7BE; };
LABEL { NAME "FMULT"; ADDR $E97F; };
LABEL { NAME "FDIV"; ADDR $EA66; };
LABEL { NAME "ROUND"; ADDR $EB2B; };
LABEL { NAME "FLOAT"; ADDR $EB93; };
LABEL { NAME "FIN"; ADDR $EC4A; };
LABEL { NAME "FOUT"; ADDR $ED34; };
LABEL { NAME "COUT"; ADDR $FDED; };
RANGE { START $8800; END $939E; TYPE ByteTable; };
RANGE { START $DA20; END $DAFF; TYPE ByteTable; };
RANGE { START $E690; END $E6BF; TYPE ByteTable; };
RANGE { START $FB00; END $FFFF; TYPE ByteTable; };
RANGE { START $d012; END $d012; TYPE ByteTable; };
RANGE { START $d013; END $d014; TYPE AddrTable; };
@ -41,3 +29,5 @@ RANGE { START $d052; END $d052; TYPE ByteTable; };
RANGE { START $d053; END $d054; TYPE AddrTable; };
RANGE { START $d111; END $d111; TYPE ByteTable; };
RANGE { START $d112; END $d113; TYPE AddrTable; };
RANGE { START $d166; END $ecff; TYPE ByteTable; };

View File

@ -1,6 +1,6 @@
.org $2000
; da65 V2.16 - Git f5e9b401
; Created: 2017-09-27 19:22:24
; Created: 2017-09-27 19:43:21
; Input file: orig/DESKTOP2_s0_loader
; Page: 1

View File

@ -1,6 +1,6 @@
.org $4000
; da65 V2.16 - Git f5e9b401
; Created: 2017-09-27 19:22:24
; Created: 2017-09-27 19:43:21
; Input file: orig/DESKTOP2_s1_aux1
; Page: 1

File diff suppressed because it is too large Load Diff

View File

@ -4,48 +4,51 @@
;;; To find: Hard disk, 5.25 floppy, 3.5 floppy, Trash
.include "../desk.acc/a2d.inc"
.include "../inc/prodos.inc"
.addr LFB08
.addr $FB42
.addr type_table
.addr type_icons
.addr LFB11
.addr LFB1A
.addr type_names
LFB08: .byte $08,$00,$B0,$04,$06,$0F,$FF,$FC,$01
type_table:
.byte 8
.byte FT_TYPELESS, FT_SRC, FT_TEXT, FT_BINARY
.byte FT_DIRECTORY, FT_SYSTEM, FT_BASIC, FT_BAD
;; ???
LFB11: .byte $60,$50,$50,$50,$20,$00,$10,$30,$10
LFB1A: .byte $20,$3F,$3F,$3F,$20,$3F
.byte $3F,$3F,$20,$53,$52,$43,$20,$54
.byte $58,$54,$20,$42,$49,$4E,$20,$44
.byte $49,$52,$20,$53,$59,$53,$20,$42
.byte $41,$53,$20,$53,$59,$53,$20,$42
.byte $41,$44
.byte $52,$FB,$5E,$FB,$5E,$FB
.byte $6A,$FB,$76,$FB,$82,$FB,$8E,$FB
.byte $9A,$FB,$A6,$FB
.byte $04,$00,$00,$00
.byte $00,$00,$1B,$00,$11,$00
.byte $36,$FC
.byte $04,$00,$00,$00,$00,$00,$1B,$00
.byte $11,$00
.byte $C6,$FC
.byte $04,$00,$00,$00
.byte $00,$00,$1B,$00,$11,$00
.byte $56,$FD
.byte $04,$00,$00,$00,$00,$00,$1B,$00
.byte $11,$00
.byte $E6,$FD
.byte $04,$00,$00,$00
.byte $00,$00,$1B,$00,$11,$00
.byte $76,$FE
.byte $04,$00,$00,$00,$00,$00,$1B,$00
.byte $11,$00
.byte $06,$FF
.byte $05,$00,$00,$00
.byte $00,$00,$22,$00,$11,$00,$00,$00
.byte $00,$00
type_names:
.byte " ???"
;;; Unknown
;; Same order as icon list below
.byte " ???", " SRC", " TXT", " BIN"
.byte " DIR", " SYS", " BAS", " SYS"
.byte " BAD"
type_icons:
.addr gen, src, txt, bin, dir, sys, bas, app
.macro DEFICON addr, stride, left, top, width, height
.addr addr
.word stride, left, top, width, height
.endmacro
gen: DEFICON generic_icon, 4, 0, 0, 27, 17
src:
txt: DEFICON text_icon, 4, 0, 0, 27, 17
bin: DEFICON binary_icon, 4, 0, 0, 27, 17
dir: DEFICON folder_icon, 4, 0, 0, 27, 17
sys: DEFICON sys_icon, 4, 0, 0, 27, 17
bas: DEFICON basic_icon, 4, 0, 0, 27, 17
app: DEFICON app_icon, 5, 0, 0, 34, 17
;;; Generic
generic_icon:
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1000000)
.byte px(%1000000),px(%0000000),PX(%0000001),px(%1100000)
@ -63,8 +66,9 @@ LFB1A: .byte $20,$3F,$3F,$3F,$20,$3F
.byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
generic_mask:
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1000000)
.byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1100000)
@ -82,10 +86,11 @@ LFB1A: .byte $20,$3F,$3F,$3F,$20,$3F
.byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
;;; Text File
text_icon:
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1000000)
.byte px(%1000000),px(%0000000),PX(%0000001),px(%1100000)
@ -103,8 +108,9 @@ LFB1A: .byte $20,$3F,$3F,$3F,$20,$3F
.byte px(%1001111),px(%0011111),px(%1001111),px(%1100001)
.byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
text_mask:
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1000000)
.byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1100000)
@ -122,10 +128,11 @@ LFB1A: .byte $20,$3F,$3F,$3F,$20,$3F
.byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
;;; Binary
binary_icon:
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0000000),PX(%0000001),px(%1000000),px(%0000000)
.byte px(%0000000),px(%0000110),px(%0110000),px(%0000000)
@ -145,6 +152,7 @@ LFB1A: .byte $20,$3F,$3F,$3F,$20,$3F
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
binary_mask:
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0000000),PX(%0000001),px(%1000000),px(%0000000)
@ -164,7 +172,7 @@ LFB1A: .byte $20,$3F,$3F,$3F,$20,$3F
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
;;; Folder
folder_icon:
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
@ -184,6 +192,7 @@ LFB1A: .byte $20,$3F,$3F,$3F,$20,$3F
.byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte PX(%0111111),PX(%1111111),PX(%1111111),px(%1111110)
folder_mask:
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
@ -205,6 +214,7 @@ LFB1A: .byte $20,$3F,$3F,$3F,$20,$3F
;;; System (no .SYSTEM suffix)
sys_icon:
.byte px(%0001111),px(%1111111),px(%1111111),px(%1111000)
.byte px(%0110000),px(%0000000),px(%0000000),px(%0000110)
.byte px(%0110011),px(%1111111),px(%1111111),px(%1100110)
@ -224,6 +234,7 @@ LFB1A: .byte $20,$3F,$3F,$3F,$20,$3F
.byte px(%1100000),px(%0000000),px(%0000000),px(%0000011)
.byte px(%1111111),px(%1111111),px(%1111111),px(%1111111)
sys_mask:
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0001111),px(%1111111),px(%1111111),px(%1111000)
.byte px(%0001111),px(%1111111),px(%1111111),px(%1111000)
@ -245,6 +256,7 @@ LFB1A: .byte $20,$3F,$3F,$3F,$20,$3F
;;; Basic
basic_icon:
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0000000),PX(%0000001),px(%1000000),px(%0000000)
@ -265,6 +277,7 @@ LFB1A: .byte $20,$3F,$3F,$3F,$20,$3F
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
basic_mask:
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0000000),PX(%0000001),px(%1000000),px(%0000000)
@ -285,6 +298,7 @@ LFB1A: .byte $20,$3F,$3F,$3F,$20,$3F
;;; System (with .SYSTEM suffix)
app_icon:
.byte px(%0000000),px(%0000000),px(%0011000),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%1100110),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000011),px(%0000001),px(%1000000),px(%0000000)
@ -304,6 +318,7 @@ LFB1A: .byte $20,$3F,$3F,$3F,$20,$3F
.byte px(%0000000),px(%0000000),px(%0011000),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0000000)
app_mask:
.byte px(%0000000),px(%0000000),px(%0011000),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%1111110),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000011),px(%1111111),px(%1000000),px(%0000000)
@ -323,4 +338,4 @@ LFB1A: .byte $20,$3F,$3F,$3F,$20,$3F
.byte px(%0000000),px(%0000000),px(%0011000),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.res 70

View File

@ -1,6 +1,6 @@
.org $4000
; da65 V2.16 - Git f5e9b401
; Created: 2017-09-27 19:22:24
; Created: 2017-09-27 19:43:21
; Input file: orig/DESKTOP2_s4_main1
; Page: 1

View File

@ -41,6 +41,18 @@ DEALLOC_INTERRUPT := $41
READ_BLOCK := $80
WRITE_BLOCK := $71
;;; File Types
FT_TYPELESS := $00
FT_BAD := $01
FT_TEXT := $04
FT_BINARY := $06
FT_DIRECTORY := $0F
FT_SRC := $B0 ; IIgs system type; re-used?
FT_BASIC := $FC
FT_SYSTEM := $FF
;;; Macros
.macro MLI_CALL op, addr
jsr MLI