DeskTop: Icon disassembly WIP

This commit is contained in:
Joshua Bell 2017-09-27 19:41:40 -07:00
parent 574d59072b
commit ec18ec8c44
11 changed files with 431 additions and 194 deletions

View File

@ -6,7 +6,7 @@
;;; Direct Calls ;;; Direct Calls
;; These must be called from main memory (RAMRDOFF/RAMWRTOFF) ;; These must be called from main memory (RAMRDOFF/RAMWRTOFF)
JUMP_TABLE_03 := $4003 ; ??? JUMP_TABLE_03 := $4003 ; Enter DeskTop input loop
JUMP_TABLE_06 := $4006 ; ??? JUMP_TABLE_06 := $4006 ; ???
JUMP_TABLE_09 := $4009 ; ??? JUMP_TABLE_09 := $4009 ; ???
JUMP_TABLE_0C := $400C ; ??? (made "items/in disk/..." redraw oddly) JUMP_TABLE_0C := $400C ; ??? (made "items/in disk/..." redraw oddly)
@ -18,8 +18,8 @@ JUMP_TABLE_CLEAR_SEL := $401E ; Clear DeskTop selection
JUMP_TABLE_MLI := $4021 ; ProDOS MLI call (Y=call, X,A=params addr) JUMP_TABLE_MLI := $4021 ; ProDOS MLI call (Y=call, X,A=params addr)
JUMP_TABLE_24 := $4024 ; ??? JUMP_TABLE_24 := $4024 ; ???
JUMP_TABLE_27 := $4027 ; ??? JUMP_TABLE_27 := $4027 ; ???
JUMP_TABLE_2A := $402A ; ??? JUMP_TABLE_2A := $402A ; Just an RTS
JUMP_TABLE_2D := $402D ; ??? JUMP_TABLE_2D := $402D ; Draw type/size/date in non-icon views
JUMP_TABLE_30 := $4030 ; ??? JUMP_TABLE_30 := $4030 ; ???
JUMP_TABLE_33 := $4033 ; Shows "The syntax of the pathname is invalid.", hangs JUMP_TABLE_33 := $4033 ; Shows "The syntax of the pathname is invalid.", hangs
JUMP_TABLE_36 := $4036 ; ditto JUMP_TABLE_36 := $4036 ; ditto
@ -27,6 +27,8 @@ JUMP_TABLE_CUR_POINTER := $4039 ; Changes mouse cursor to pointer
JUMP_TABLE_CUR_WATCH := $403C ; Changes mouse cursor to watch JUMP_TABLE_CUR_WATCH := $403C ; Changes mouse cursor to watch
JUMP_TABLE_3F := $403F ; ??? JUMP_TABLE_3F := $403F ; ???
;; $D000 is relay for A2D call (Y=call, X,A=params addr)
;;; ================================================== ;;; ==================================================
;;; A2D Calls ;;; A2D Calls
@ -411,6 +413,8 @@ DESKTOP := $8E00
DESKTOP_REDRAW_ICONS := $0C ; Repaints desktop icons DESKTOP_REDRAW_ICONS := $0C ; Repaints desktop icons
;; $0D used at start of drag-select, $09 at end (then another $0D)
;;; ================================================== ;;; ==================================================
;;; Macros ;;; Macros
@ -470,7 +474,9 @@ end:
;;; Define pattern for A2D_DRAW_BITMAP - low 7 bits are reversed ;;; Define pattern for A2D_DRAW_BITMAP - low 7 bits are reversed
;;; e.g. .byte px(%1000000) ;;; e.g. .byte px(%1000000)
;;; px() has high bit clear, PX() has high bit set
.define px(bits) (((bits&$40)>>6)|((bits&$20)>>4)|((bits&$10)>>2)|(bits&$8)|((bits&$4)<<2)|((bits&$2)<<4)|((bits&$1)<<6)) .define px(bits) (((bits&$40)>>6)|((bits&$20)>>4)|((bits&$10)>>2)|(bits&$8)|((bits&$4)<<2)|((bits&$2)<<4)|((bits&$1)<<6))
.define PX(bits) (((bits&$40)>>6)|((bits&$20)>>4)|((bits&$10)>>2)|(bits&$8)|((bits&$4)<<2)|((bits&$2)<<4)|((bits&$1)<<6)|$80)
;;; ================================================== ;;; ==================================================
;;; DeskTop Internals ;;; DeskTop Internals

1
desk.acc/fonts/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*.BIN

77
desk.acc/res/convert_font.pl Executable file
View File

@ -0,0 +1,77 @@
#!/usr/bin/env perl
# Input: HCRG-style Font (768 bytes)
# Output: A2D font definition
# Usage: perl convert.pl < font_data > font.inc
use strict;
use warnings;
$SIG{__WARN__} = sub { die @_ };
my @chars;
my $NCCS = 32;
my $NCHARS = 128;
# Fill in control characters
for (my $i = 0; $i < $NCCS; ++$i) {
$chars[$i] = "\x00" x 8;
}
for (my $i = 0; $i < $NCHARS - $NCCS; ++$i) {
read(STDIN, $chars[$i + $NCCS], 8);
}
my @out;
push @out, 0x00;
push @out, 0x7f;
push @out, 8; # height
# widths
for (my $i = 0; $i < $NCHARS; ++$i) {
my @bytes = map { ord($_) & 0x7f } split('', $chars[$i]);
my $bits = 0;
for (my $b = 0; $b < 8; ++$b) {
$bits = $bits | $bytes[$b];
}
#while ($bits && (($bits & 0x1) == 0)) {
# $bits = $bits >> 1;
# for (my $b = 0; $b < 8; ++$b) {
# $bytes[$b] = $bytes[$b] >> 1;
# }
#}
$chars[$i] = join('', map { chr } @bytes);
my $w =
$bits >= (1<<6) ? 7 :
$bits >= (1<<5) ? 6 :
$bits >= (1<<4) ? 5 :
$bits >= (1<<3) ? 4 :
$bits >= (1<<2) ? 3 :
$bits >= (1<<1) ? 2 : 1;
$w = 7;
push @out, $w;
}
# bits
for (my $b = 0; $b < 8; ++$b) {
for (my $i = 0; $i < $NCHARS; ++$i) {
#print $i, " - ", length($chars[$i]), "\n";
push @out, ord(substr($chars[$i], $b, 1));
}
}
# output for ca65
while (scalar @out) {
my @chunk = splice(@out, 0, 8);
@chunk = map { sprintf('$%02x', $_) } @chunk;
print " .byte " . join(',', @chunk) . "\n";
}

View File

@ -6,6 +6,7 @@ use strict;
use warnings; use warnings;
while (<STDIN>) { while (<STDIN>) {
s/(\$(..))/'px(%' . reverse(sprintf('%07b', hex($2))) . ')'/eg; s/(\$([0-7][0-9A-F])\b)/'px(%' . reverse(sprintf('%07b', hex($2))) . ')'/ieg;
s/(\$([89A-F][0-9A-F])\b)/'PX(%' . reverse(sprintf('%07b', 0x7f & hex($2))) . ')'/ieg;
print; print;
} }

View File

@ -20,9 +20,14 @@ The file is broken down into multiple segments:
* segment 2: aux2 - offset $8580, length $1D00, loaded at $D000 (through $ECFF) * segment 2: aux2 - offset $8580, length $1D00, loaded at $D000 (through $ECFF)
* segment 3: aux2 - offset $A280, length $0500, loaded at $FB00 (through $FFFF) * segment 3: aux2 - offset $A280, length $0500, loaded at $FB00 (through $FFFF)
* segment 4: main - offset $A780, length $7F00, loaded at $4000 (through $BEFF) * segment 4: main - offset $A780, length $7F00, loaded at $4000 (through $BEFF)
* main $BF00-$BFFF is ProDOS buffers
* main $C000-$CFFF is I/O space
* main $D000-$FFFF is ProDOS
* segment 5: _TBD_ - 38k so must be further subdivided. * segment 5: _TBD_ - 38k so must be further subdivided.
Much of the space is data: Much of the space is data:
* API jump table at $40E5, param details at $4184 * API jump table at $40E5, param details at $4184
* Font is at $8800 * Font is at $8800
Icon bitmaps are at $FF00-ish (.SYSTEM file is $FF06), stride 5, $22x$11px

View File

@ -7,21 +7,32 @@ CAFLAGS="--target apple2enh --list-bytes 0"
LDFLAGS="--config apple2-asm.cfg" LDFLAGS="--config apple2-asm.cfg"
function doseg { function daseg {
#../../desk.acc/res/make_info.pl $2 < "orig/DESKTOP2_$1" > "infos/$1.info" #../../desk.acc/res/make_info.pl $2 < "orig/DESKTOP2_$1" > "infos/$1.info"
echo ".org \$$2" > "$1.s" echo ".org \$$2" > "$1.s"
$CC65/da65 "orig/DESKTOP2_$1" --info "infos/$1.info" >> "$1.s" $CC65/da65 "orig/DESKTOP2_$1" --info "infos/$1.info" >> "$1.s"
}
function asmseg {
$CC65/ca65 $CAFLAGS --listing "$1.list" -o "$1.o" "$1.s" $CC65/ca65 $CAFLAGS --listing "$1.list" -o "$1.o" "$1.s"
$CC65/ld65 $LDFLAGS -o "$1.built" "$1.o" $CC65/ld65 $LDFLAGS -o "$1.built" "$1.o"
diff "orig/DESKTOP2_$1" "$1.built" diff "orig/DESKTOP2_$1" "$1.built"
} }
doseg s0_loader 2000 daseg s0_loader 2000
asmseg s0_loader 2000
doseg s1_aux1 4000 daseg s1_aux1 4000
doseg s2_aux2 D000 asmseg s1_aux1 4000
doseg s3_aux3 FB00
doseg s4_main1 4000
#doseg 12680_1BCDF daseg s2_aux2 D000
asmseg s2_aux2 D000
# s3 has been disassembled by hand
asmseg s3_aux3 D000
daseg s4_main1 4000
asmseg s4_main1 4000
#daseg 12680_1BCDF
#asmseg 12680_1BCDF

View File

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

View File

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

View File

@ -1,6 +1,6 @@
.org $D000 .org $D000
; da65 V2.16 - Git f5e9b401 ; da65 V2.16 - Git f5e9b401
; Created: 2017-09-17 15:06:29 ; Created: 2017-09-27 19:22:24
; Input file: orig/DESKTOP2_s2_aux2 ; Input file: orig/DESKTOP2_s2_aux2
; Page: 1 ; Page: 1

View File

@ -1,190 +1,326 @@
.org $FB00 .org $FB00
; da65 V2.16 - Git f5e9b401
; Created: 2017-09-17 15:06:29
; Input file: orig/DESKTOP2_s3_aux3
; Page: 1
.setcpu "65C02" .setcpu "65C02"
A2D := $4000 ;;; To find: Hard disk, 5.25 floppy, 3.5 floppy, Trash
UNKNOWN_CALL := $8E00
MLI := $BF00 .include "../desk.acc/a2d.inc"
RAMRDOFF := $C002
RAMRDON := $C003 .addr LFB08
RAMWRTOFF := $C004 .addr $FB42
RAMWRTON := $C005 .addr LFB11
ALTZPOFF := $C008 .addr LFB1A
ALTZPON := $C009
LCBANK1 := $C08B LFB08: .byte $08,$00,$B0,$04,$06,$0F,$FF,$FC,$01
AUXMOVE := $C311 LFB11: .byte $60,$50,$50,$50,$20,$00,$10,$30,$10
XFER := $C314 LFB1A: .byte $20,$3F,$3F,$3F,$20,$3F
FSUB := $E7A7
FADD := $E7BE
FMULT := $E97F
FDIV := $EA66
ROUND := $EB2B
FLOAT := $EB93
FIN := $EC4A
FOUT := $ED34
.byte $08,$FB,$42,$FB,$11,$FB,$1A,$FB
.byte $08,$00,$B0,$04,$06,$0F,$FF,$FC
.byte $01,$60,$50,$50,$50,$20,$00,$10
.byte $30,$10,$20,$3F,$3F,$3F,$20,$3F
.byte $3F,$3F,$20,$53,$52,$43,$20,$54 .byte $3F,$3F,$20,$53,$52,$43,$20,$54
.byte $58,$54,$20,$42,$49,$4E,$20,$44 .byte $58,$54,$20,$42,$49,$4E,$20,$44
.byte $49,$52,$20,$53,$59,$53,$20,$42 .byte $49,$52,$20,$53,$59,$53,$20,$42
.byte $41,$53,$20,$53,$59,$53,$20,$42 .byte $41,$53,$20,$53,$59,$53,$20,$42
.byte $41,$44,$52,$FB,$5E,$FB,$5E,$FB .byte $41,$44
.byte $52,$FB,$5E,$FB,$5E,$FB
.byte $6A,$FB,$76,$FB,$82,$FB,$8E,$FB .byte $6A,$FB,$76,$FB,$82,$FB,$8E,$FB
.byte $9A,$FB,$A6,$FB,$04,$00,$00,$00 .byte $9A,$FB,$A6,$FB
.byte $00,$00,$1B,$00,$11,$00,$36,$FC .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 $04,$00,$00,$00,$00,$00,$1B,$00
.byte $11,$00,$C6,$FC,$04,$00,$00,$00 .byte $11,$00
.byte $00,$00,$1B,$00,$11,$00,$56,$FD .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 $04,$00,$00,$00,$00,$00,$1B,$00
.byte $11,$00,$E6,$FD,$04,$00,$00,$00 .byte $11,$00
.byte $00,$00,$1B,$00,$11,$00,$76,$FE .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 $04,$00,$00,$00,$00,$00,$1B,$00
.byte $11,$00,$06,$FF,$05,$00,$00,$00 .byte $11,$00
.byte $06,$FF
.byte $05,$00,$00,$00
.byte $00,$00,$22,$00,$11,$00,$00,$00 .byte $00,$00,$22,$00,$11,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$FF,$FF .byte $00,$00
.byte $FF,$01,$01,$00,$C0,$03,$01,$00
.byte $C0,$06,$01,$00,$C0,$0C,$01,$00
.byte $C0,$98,$01,$00,$C0,$B0,$01,$00 ;;; Unknown
.byte $C0,$E0,$01,$00,$C0,$FF,$01,$00
.byte $00,$C0,$01,$00,$00,$C0,$01,$00 .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte $00,$C0,$01,$00,$00,$C0,$01,$00 .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1000000)
.byte $00,$C0,$01,$00,$00,$C0,$01,$00 .byte px(%1000000),px(%0000000),PX(%0000001),px(%1100000)
.byte $00,$C0,$FF,$FF,$FF,$FF,$00,$00 .byte px(%1000000),px(%0000000),PX(%0000001),px(%0110000)
.byte $00,$00,$00,$00,$00,$00,$FF,$FF .byte px(%1000000),px(%0000000),PX(%0000001),px(%0011000)
.byte $FF,$01,$FF,$FF,$FF,$03,$FF,$FF .byte px(%1000000),px(%0000000),PX(%0000001),PX(%0001100)
.byte $FF,$07,$FF,$FF,$FF,$0F,$FF,$FF .byte px(%1000000),px(%0000000),PX(%0000001),PX(%0000110)
.byte $FF,$1F,$FF,$FF,$FF,$3F,$FF,$FF .byte px(%1000000),px(%0000000),PX(%0000001),PX(%0000011)
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .byte px(%1000000),px(%0000000),PX(%0000001),PX(%1111111)
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte $FF,$FF,$FF,$FF,$FF,$FF,$00,$00 .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte $00,$00,$00,$00,$00,$00,$FF,$FF .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte $FF,$01,$01,$00,$C0,$03,$19,$3E .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte $FE,$06,$01,$00,$C0,$0C,$79,$73 .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte $41,$98,$01,$00,$40,$30,$79,$3C .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte $46,$E0,$01,$00,$C0,$FF,$01,$00 .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte $00,$40,$79,$33,$1E,$4F,$01,$00
.byte $00,$40,$79,$3C,$7F,$40,$01,$00 .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte $00,$C0,$79,$7C,$79,$43,$01,$00 .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1000000)
.byte $00,$C0,$FF,$FF,$FF,$FF,$00,$00 .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1100000)
.byte $00,$00,$00,$00,$00,$00,$FF,$FF .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1110000)
.byte $FF,$01,$FF,$FF,$FF,$03,$FF,$FF .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1111000)
.byte $FF,$07,$FF,$FF,$FF,$0F,$FF,$FF .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1111100)
.byte $FF,$1F,$FF,$FF,$FF,$3F,$FF,$FF .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1111110)
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte $FF,$FF,$FF,$FF,$FF,$FF,$00,$00 .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte $00,$00,$00,$00,$00,$00,$00,$C0 .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte $01,$00,$00,$30,$06,$00,$00,$0C .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte $18,$00,$00,$03,$60,$00,$60,$00 .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte $00,$03,$18,$0C,$0C,$0C,$06,$12 .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte $0A,$30,$01,$12,$08,$40,$06,$12 .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte $08,$30,$18,$0C,$08,$0C,$60,$00 .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte $00,$03,$00,$03,$60,$00,$00,$0C
.byte $18,$00,$00,$30,$06,$00,$00,$C0 ;;; Text File
.byte $01,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00 .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte $00,$00,$00,$C0,$01,$00,$00,$70 .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1000000)
.byte $07,$00,$00,$FC,$1F,$00,$00,$FF .byte px(%1000000),px(%0000000),PX(%0000001),px(%1100000)
.byte $FF,$00,$60,$FF,$FF,$03,$F8,$FF .byte px(%1001100),px(%0111110),PX(%0111111),px(%0110000)
.byte $FF,$0F,$FE,$FF,$FF,$3F,$F8,$FF .byte px(%1000000),px(%0000000),PX(%0000001),px(%0011000)
.byte $FF,$0F,$60,$FF,$FF,$03,$00,$FF .byte px(%1001111),px(%1100111),px(%1000001),PX(%0001100)
.byte $FF,$00,$00,$FC,$1F,$00,$00,$70 .byte px(%1000000),px(%0000000),px(%0000001),px(%0000110)
.byte $07,$00,$00,$C0,$01,$00,$00,$00 .byte px(%1001111),px(%0011110),px(%0110001),PX(%0000011)
.byte $00,$00,$00,$00,$00,$00,$00,$00 .byte px(%1000000),px(%0000000),PX(%0000001),PX(%1111111)
.byte $00,$00,$00,$00,$00,$00,$00,$00 .byte px(%1000000),px(%0000000),px(%0000000),px(%0000001)
.byte $00,$00,$00,$00,$00,$00,$00,$00 .byte px(%1001111),px(%1100110),px(%0111100),px(%1111001)
.byte $00,$00,$00,$00,$00,$00,$FC,$3F .byte px(%1000000),px(%0000000),px(%0000000),px(%0000001)
.byte $00,$00,$02,$40,$00,$00,$FE,$FF .byte px(%1001111),px(%0011110),px(%1111111),px(%0000001)
.byte $FF,$3F,$01,$00,$00,$C0,$01,$00 .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte $00,$C0,$01,$00,$00,$C0,$01,$00 .byte px(%1001111),px(%0011111),px(%1001111),px(%1100001)
.byte $00,$C0,$01,$00,$00,$C0,$01,$00 .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte $00,$C0,$01,$00,$00,$C0,$01,$00 .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte $00,$C0,$FE,$FF,$FF,$3F,$00,$00 .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00 .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte $00,$00,$00,$00,$00,$00,$FC,$3F .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1000000)
.byte $00,$00,$FE,$FF,$00,$00,$FE,$FF .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1100000)
.byte $FF,$3F,$FF,$FF,$FF,$FF,$FF,$FF .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1110000)
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1111000)
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1111100)
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1111110)
.byte $FF,$FF,$FE,$FF,$FF,$3F,$78,$7F .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte $7F,$0F,$06,$00,$00 .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
COUT: .byte $30,$66,$7F,$7F,$33,$66,$00,$04 .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte $33,$66,$00,$02,$33,$66,$04,$11 .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte $33,$66,$02,$08,$33,$66,$7F,$7F .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte $33,$06,$00,$00,$30,$78,$7F,$7F .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte $0F,$00,$00,$00,$00,$7F,$7F,$7F .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte $7F,$03,$00,$00,$60,$33,$00,$00 .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte $60,$03,$00,$00,$60,$7F,$7F,$7F .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte $7F,$03,$00,$00,$60,$7F,$7F,$7F .byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte $7F,$00,$00,$00,$00,$78,$7F,$7F .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte $0F,$78,$7F,$7F,$0F,$78,$7F,$7F
.byte $0F,$78,$7F,$7F,$0F,$78,$7F,$7F ;;; Binary
.byte $0F,$78,$7F,$7F,$0F,$78,$7F,$7F
.byte $0F,$78,$7F,$7F,$0F,$00,$00,$00 .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte $00,$00,$00,$00,$00,$00,$00,$00 .byte px(%0000000),PX(%0000001),px(%1000000),px(%0000000)
.byte $00,$7C,$7F,$7F,$1F,$7C,$7F,$7F .byte px(%0000000),px(%0000110),px(%0110000),px(%0000000)
.byte $1F,$7C,$7F,$7F,$1F,$7C,$7F,$7F .byte px(%0000000),px(%0011000),px(%0001100),px(%0000000)
.byte $1F,$7C,$7F,$7F,$1F,$00,$00,$00 .byte px(%0000000),px(%1100000),px(%0000011),px(%0000000)
.byte $00,$00,$00,$00,$00,$00,$00,$00 .byte px(%0000011),px(%0000000),px(%0000000),px(%1100000)
.byte $00,$00,$C0,$01,$00,$00,$30,$06 .byte px(%0001100),px(%0011000),px(%0011000),px(%0011000)
.byte $00,$00,$0C,$18,$00,$00,$03,$60 .byte px(%0110000),px(%0100100),px(%0101000),px(%0000110)
.byte $00,$00,$00,$00,$00,$3E,$0E,$2F .byte px(%1000000),px(%0100100),px(%0001000),px(%0000001)
.byte $1E,$22,$11,$21,$31,$1E,$1F,$2F .byte px(%0110000),px(%0100100),px(%0001000),px(%0000110)
.byte $01,$22,$11,$28,$31,$3E,$11,$2F .byte px(%0001100),px(%0011000),px(%0001000),px(%0011000)
.byte $1E,$00,$00,$00,$00,$00,$03,$60 .byte px(%0000011),px(%0000000),px(%0000000),px(%1100000)
.byte $00,$00,$0C,$18,$00,$00,$30,$06 .byte px(%0000000),px(%1100000),px(%0000011),px(%0000000)
.byte $00,$00,$C0,$01,$00,$00,$00,$00 .byte px(%0000000),px(%0011000),px(%0001100),px(%0000000)
.byte $00,$00,$00,$00,$00,$00,$00,$00 .byte px(%0000000),px(%0000110),px(%0110000),px(%0000000)
.byte $00,$00,$00,$00,$00,$00,$C0,$01 .byte px(%0000000),PX(%0000001),px(%1000000),px(%0000000)
.byte $00,$00,$70,$07,$00,$00,$FC,$1F .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$FF .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte $FF,$FF,$FF,$FF,$FF,$00,$FC,$1F .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte $00,$00,$70,$07,$00,$00,$C0,$01 .byte px(%0000000),PX(%0000001),px(%1000000),px(%0000000)
.byte $00,$00,$00,$00,$00,$00,$00,$00 .byte px(%0000000),px(%0000111),px(%1110000),px(%0000000)
.byte $00,$00,$00,$0C,$00,$00,$00,$00 .byte px(%0000000),PX(%0011111),px(%1111100),px(%0000000)
.byte $33,$00,$00,$00,$60,$40,$01,$00 .byte px(%0000000),PX(%1111111),PX(%1111111),px(%0000000)
.byte $00,$18,$00,$06,$00,$00,$06,$00 .byte px(%0000011),PX(%1111111),PX(%1111111),px(%1100000)
.byte $18,$00,$40,$01,$00,$60,$00,$30 .byte PX(%0001111),PX(%1111111),PX(%1111111),px(%1111000)
.byte $00,$00,$00,$03,$0C,$00,$40,$1F .byte PX(%0111111),PX(%1111111),PX(%1111111),px(%1111110)
.byte $0C,$03,$00,$30,$60,$30,$0C,$00 .byte PX(%0001111),PX(%1111111),PX(%1111111),px(%1111000)
.byte $0C,$07,$0F,$30,$70,$7F,$1F,$3C .byte px(%0000011),PX(%1111111),PX(%1111111),px(%1100000)
.byte $40,$01,$06,$03,$3C,$00,$06,$38 .byte px(%0000000),PX(%1111111),PX(%1111111),px(%0000000)
.byte $00,$3C,$00,$18,$40,$FF,$3F,$00 .byte px(%0000000),PX(%0011111),px(%1111100),px(%0000000)
.byte $60,$40,$01,$3C,$00,$00,$33,$00 .byte px(%0000000),px(%0000111),px(%1110000),px(%0000000)
.byte $00,$00,$00,$0C,$00,$00,$00,$00 .byte px(%0000000),PX(%0000001),px(%1000000),px(%0000000)
.byte $00,$00,$00,$00,$00,$0C,$00,$00 .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte $00,$00,$3F,$00,$00,$00,$60,$7F .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte $01,$00,$00,$78,$7F,$07,$00,$00
.byte $7E,$7F,$1F,$00,$40,$7F,$7F,$7F ;;; Folder
.byte $00,$70,$7F,$7F,$7F,$03,$7C,$7F
.byte $7F,$7F,$0F,$7F,$7F,$7F,$7F,$3F .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte $7C,$7F,$7F,$7F,$1F,$70,$7F,$7F .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte $7F,$0F,$40,$7F,$7F,$7F,$0F,$00 .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte $7E,$7F,$1F,$0F,$00,$78,$7F,$0F .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte $00,$00,$60,$7F,$01,$00,$00,$00 .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte $3F,$00,$00,$00,$00,$0C,$00,$00 .byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte $00,$00,$00,$00,$00,$00,$00,$00 .byte PX(%0011111),px(%1111110),px(%0000000),px(%0000000)
.byte $00,$00,$00,$00,$00,$00,$00,$00 .byte px(%0100000),px(%0000001),px(%0000000),px(%0000000)
.byte $00,$00,$00,$00,$00,$00,$00,$00 .byte PX(%0111111),PX(%1111111),PX(%1111111),px(%1111110)
.byte $00,$00,$00,$00,$00,$00,$00,$00 .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte $00,$00,$00,$00,$00,$00,$00,$00 .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte $00,$00,$00,$00,$00,$00,$00,$00 .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte $00,$00,$00,$00,$00,$00,$00,$00 .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte $00,$00,$00,$00,$00,$00,$00,$00 .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte $00,$00,$00,$00,$00,$00,$00,$00 .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte $00,$00,$00 .byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte PX(%0111111),PX(%1111111),PX(%1111111),px(%1111110)
.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)
.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)
.byte PX(%0011111),px(%1111110),px(%0000000),px(%0000000)
.byte PX(%0111111),PX(%1111111),px(%0000000),px(%0000000)
.byte PX(%0111111),PX(%1111111),PX(%1111111),px(%1111110)
.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(%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(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte PX(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte PX(%0111111),PX(%1111111),PX(%1111111),px(%1111110)
;;; System (no .SYSTEM suffix)
.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)
.byte px(%0110011),px(%0000000),px(%0010000),px(%1100110)
.byte px(%0110011),px(%0000000),px(%0100000),px(%1100110)
.byte px(%0110011),px(%0010000),px(%1000100),px(%1100110)
.byte px(%0110011),px(%0100000),px(%0001000),px(%1100110)
.byte px(%0110011),px(%1111111),px(%1111111),px(%1100110)
.byte px(%0110000),px(%0000000),px(%0000000),px(%0000110)
.byte px(%0001111),px(%1111111),px(%1111111),px(%1111000)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%1111111),px(%1111111),px(%1111111),px(%1111111)
.byte px(%1100000),px(%0000000),px(%0000000),px(%0000011)
.byte px(%1100110),px(%0000000),px(%0000000),px(%0000011)
.byte px(%1100000),px(%0000000),px(%0000000),px(%0000011)
.byte px(%1111111),px(%1111111),px(%1111111),px(%1111111)
.byte px(%1100000),px(%0000000),px(%0000000),px(%0000011)
.byte px(%1111111),px(%1111111),px(%1111111),px(%1111111)
.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)
.byte px(%0001111),px(%1111111),px(%1111111),px(%1111000)
.byte px(%0001111),px(%1111111),px(%1111111),px(%1111000)
.byte px(%0001111),px(%1111111),px(%1111111),px(%1111000)
.byte px(%0001111),px(%1111111),px(%1111111),px(%1111000)
.byte px(%0001111),px(%1111111),px(%1111111),px(%1111000)
.byte px(%0001111),px(%1111111),px(%1111111),px(%1111000)
.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)
.byte px(%0011111),px(%1111111),px(%1111111),px(%1111100)
.byte px(%0011111),px(%1111111),px(%1111111),px(%1111100)
.byte px(%0011111),px(%1111111),px(%1111111),px(%1111100)
.byte px(%0011111),px(%1111111),px(%1111111),px(%1111100)
.byte px(%0011111),px(%1111111),px(%1111111),px(%1111100)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
;;; Basic
.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)
.byte px(%0000000),px(%0011000),px(%0001100),px(%0000000)
.byte px(%0000000),px(%1100000),px(%0000011),px(%0000000)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0111110),px(%0111000),px(%1111010),px(%0111100)
.byte px(%0100010),px(%1000100),px(%1000010),px(%1000110)
.byte px(%0111100),px(%1111100),px(%1111010),px(%1000000)
.byte px(%0100010),px(%1000100),px(%0001010),px(%1000110)
.byte px(%0111110),px(%1000100),px(%1111010),px(%0111100)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0000000),px(%1100000),px(%0000011),px(%0000000)
.byte px(%0000000),px(%0011000),px(%0001100),px(%0000000)
.byte px(%0000000),px(%0000110),px(%0110000),px(%0000000)
.byte px(%0000000),PX(%0000001),px(%1000000),px(%0000000)
.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)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0000000),PX(%0000001),px(%1000000),px(%0000000)
.byte px(%0000000),px(%0000111),px(%1110000),px(%0000000)
.byte px(%0000000),PX(%0011111),px(%1111100),px(%0000000)
.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(%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(%1111111),PX(%1111111),PX(%1111111),PX(%1111111)
.byte px(%0000000),PX(%0011111),px(%1111100),px(%0000000)
.byte px(%0000000),px(%0000111),px(%1110000),px(%0000000)
.byte px(%0000000),PX(%0000001),px(%1000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000)
;;; System (with .SYSTEM suffix)
.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)
.byte px(%0000000),px(%0001100),px(%0000000),px(%0110000),px(%0000000)
.byte px(%0000000),px(%0110000),px(%0000000),px(%0001100),px(%0000000)
.byte px(%0000001),px(%1000000),px(%0000000),px(%0000011),px(%0000000)
.byte px(%0000110),px(%0000000),px(%0000000),px(%0000000),px(%1100000)
.byte px(%0011000),px(%0000000),px(%0000001),px(%1111100),px(%0011000)
.byte px(%1100000),px(%0000000),px(%0000110),px(%0000011),px(%0000110)
.byte px(%0011000),px(%0000000),px(%0011000),px(%1110000),px(%1111000)
.byte px(%0000110),px(%0000111),px(%1111111),px(%1111100),px(%0011110)
.byte px(%0000001),px(%1000000),px(%0110000),px(%1100000),px(%0011110)
.byte px(%0000000),px(%0110000),px(%0001110),px(%0000000),px(%0011110)
.byte px(%0000000),px(%0001100),px(%0000001),PX(%1111111),px(%1111110)
.byte px(%0000000),px(%0000011),px(%0000001),px(%1000000),px(%0011110)
.byte px(%0000000),px(%0000000),px(%1100110),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%0011000),px(%0000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0000000)
.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)
.byte px(%0000000),px(%0001111),px(%1111111),px(%1110000),px(%0000000)
.byte px(%0000000),px(%0111111),px(%1111111),px(%1111100),px(%0000000)
.byte px(%0000001),px(%1111111),px(%1111111),px(%1111111),px(%0000000)
.byte px(%0000111),px(%1111111),px(%1111111),px(%1111111),px(%1100000)
.byte px(%0011111),px(%1111111),px(%1111111),px(%1111111),px(%1111000)
.byte px(%1111111),px(%1111111),px(%1111111),px(%1111111),px(%1111110)
.byte px(%0011111),px(%1111111),px(%1111111),px(%1111111),px(%1111100)
.byte px(%0000111),px(%1111111),px(%1111111),px(%1111111),px(%1111000)
.byte px(%0000001),px(%1111111),px(%1111111),px(%1111111),px(%1111000)
.byte px(%0000000),px(%0111111),px(%1111111),px(%1111100),px(%1111000)
.byte px(%0000000),px(%0001111),px(%1111111),px(%1111000),px(%0000000)
.byte px(%0000000),px(%0000011),px(%1111111),px(%1000000),px(%0000000)
.byte px(%0000000),px(%0000000),px(%1111110),px(%0000000),px(%0000000)
.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

View File

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