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
;; 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_09 := $4009 ; ???
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_24 := $4024 ; ???
JUMP_TABLE_27 := $4027 ; ???
JUMP_TABLE_2A := $402A ; ???
JUMP_TABLE_2D := $402D ; ???
JUMP_TABLE_2A := $402A ; Just an RTS
JUMP_TABLE_2D := $402D ; Draw type/size/date in non-icon views
JUMP_TABLE_30 := $4030 ; ???
JUMP_TABLE_33 := $4033 ; Shows "The syntax of the pathname is invalid.", hangs
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_3F := $403F ; ???
;; $D000 is relay for A2D call (Y=call, X,A=params addr)
;;; ==================================================
;;; A2D Calls
@ -411,6 +413,8 @@ DESKTOP := $8E00
DESKTOP_REDRAW_ICONS := $0C ; Repaints desktop icons
;; $0D used at start of drag-select, $09 at end (then another $0D)
;;; ==================================================
;;; Macros
@ -470,7 +474,9 @@ end:
;;; Define pattern for A2D_DRAW_BITMAP - low 7 bits are reversed
;;; 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)|$80)
;;; ==================================================
;;; 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;
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;
}

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 3: aux2 - offset $A280, length $0500, loaded at $FB00 (through $FFFF)
* 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.
Much of the space is data:
* API jump table at $40E5, param details at $4184
* 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"
function doseg {
function daseg {
#../../desk.acc/res/make_info.pl $2 < "orig/DESKTOP2_$1" > "infos/$1.info"
echo ".org \$$2" > "$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/ld65 $LDFLAGS -o "$1.built" "$1.o"
diff "orig/DESKTOP2_$1" "$1.built"
}
doseg s0_loader 2000
daseg s0_loader 2000
asmseg s0_loader 2000
doseg s1_aux1 4000
doseg s2_aux2 D000
doseg s3_aux3 FB00
doseg s4_main1 4000
daseg s1_aux1 4000
asmseg s1_aux1 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
; 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
; Page: 1

View File

@ -1,6 +1,6 @@
.org $4000
; 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
; Page: 1

View File

@ -1,6 +1,6 @@
.org $D000
; 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
; Page: 1

View File

@ -1,190 +1,326 @@
.org $FB00
; da65 V2.16 - Git f5e9b401
; Created: 2017-09-17 15:06:29
; Input file: orig/DESKTOP2_s3_aux3
; Page: 1
.setcpu "65C02"
A2D := $4000
UNKNOWN_CALL := $8E00
MLI := $BF00
RAMRDOFF := $C002
RAMRDON := $C003
RAMWRTOFF := $C004
RAMWRTON := $C005
ALTZPOFF := $C008
ALTZPON := $C009
LCBANK1 := $C08B
AUXMOVE := $C311
XFER := $C314
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
;;; To find: Hard disk, 5.25 floppy, 3.5 floppy, Trash
.include "../desk.acc/a2d.inc"
.addr LFB08
.addr $FB42
.addr LFB11
.addr LFB1A
LFB08: .byte $08,$00,$B0,$04,$06,$0F,$FF,$FC,$01
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,$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 $9A,$FB,$A6,$FB,$04,$00,$00,$00
.byte $00,$00,$1B,$00,$11,$00,$36,$FC
.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,$C6,$FC,$04,$00,$00,$00
.byte $00,$00,$1B,$00,$11,$00,$56,$FD
.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,$E6,$FD,$04,$00,$00,$00
.byte $00,$00,$1B,$00,$11,$00,$76,$FE
.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,$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,$00,$00,$00,$00,$FF,$FF
.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
.byte $C0,$E0,$01,$00,$C0,$FF,$01,$00
.byte $00,$C0,$01,$00,$00,$C0,$01,$00
.byte $00,$C0,$01,$00,$00,$C0,$01,$00
.byte $00,$C0,$01,$00,$00,$C0,$01,$00
.byte $00,$C0,$FF,$FF,$FF,$FF,$00,$00
.byte $00,$00,$00,$00,$00,$00,$FF,$FF
.byte $FF,$01,$FF,$FF,$FF,$03,$FF,$FF
.byte $FF,$07,$FF,$FF,$FF,$0F,$FF,$FF
.byte $FF,$1F,$FF,$FF,$FF,$3F,$FF,$FF
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.byte $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
.byte $00,$00,$00,$00,$00,$00,$FF,$FF
.byte $FF,$01,$01,$00,$C0,$03,$19,$3E
.byte $FE,$06,$01,$00,$C0,$0C,$79,$73
.byte $41,$98,$01,$00,$40,$30,$79,$3C
.byte $46,$E0,$01,$00,$C0,$FF,$01,$00
.byte $00,$40,$79,$33,$1E,$4F,$01,$00
.byte $00,$40,$79,$3C,$7F,$40,$01,$00
.byte $00,$C0,$79,$7C,$79,$43,$01,$00
.byte $00,$C0,$FF,$FF,$FF,$FF,$00,$00
.byte $00,$00,$00,$00,$00,$00,$FF,$FF
.byte $FF,$01,$FF,$FF,$FF,$03,$FF,$FF
.byte $FF,$07,$FF,$FF,$FF,$0F,$FF,$FF
.byte $FF,$1F,$FF,$FF,$FF,$3F,$FF,$FF
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.byte $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$C0
.byte $01,$00,$00,$30,$06,$00,$00,$0C
.byte $18,$00,$00,$03,$60,$00,$60,$00
.byte $00,$03,$18,$0C,$0C,$0C,$06,$12
.byte $0A,$30,$01,$12,$08,$40,$06,$12
.byte $08,$30,$18,$0C,$08,$0C,$60,$00
.byte $00,$03,$00,$03,$60,$00,$00,$0C
.byte $18,$00,$00,$30,$06,$00,$00,$C0
.byte $01,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$C0,$01,$00,$00,$70
.byte $07,$00,$00,$FC,$1F,$00,$00,$FF
.byte $FF,$00,$60,$FF,$FF,$03,$F8,$FF
.byte $FF,$0F,$FE,$FF,$FF,$3F,$F8,$FF
.byte $FF,$0F,$60,$FF,$FF,$03,$00,$FF
.byte $FF,$00,$00,$FC,$1F,$00,$00,$70
.byte $07,$00,$00,$C0,$01,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$FC,$3F
.byte $00,$00,$02,$40,$00,$00,$FE,$FF
.byte $FF,$3F,$01,$00,$00,$C0,$01,$00
.byte $00,$C0,$01,$00,$00,$C0,$01,$00
.byte $00,$C0,$01,$00,$00,$C0,$01,$00
.byte $00,$C0,$01,$00,$00,$C0,$01,$00
.byte $00,$C0,$FE,$FF,$FF,$3F,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$FC,$3F
.byte $00,$00,$FE,$FF,$00,$00,$FE,$FF
.byte $FF,$3F,$FF,$FF,$FF,$FF,$FF,$FF
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.byte $FF,$FF,$FE,$FF,$FF,$3F,$78,$7F
.byte $7F,$0F,$06,$00,$00
COUT: .byte $30,$66,$7F,$7F,$33,$66,$00,$04
.byte $33,$66,$00,$02,$33,$66,$04,$11
.byte $33,$66,$02,$08,$33,$66,$7F,$7F
.byte $33,$06,$00,$00,$30,$78,$7F,$7F
.byte $0F,$00,$00,$00,$00,$7F,$7F,$7F
.byte $7F,$03,$00,$00,$60,$33,$00,$00
.byte $60,$03,$00,$00,$60,$7F,$7F,$7F
.byte $7F,$03,$00,$00,$60,$7F,$7F,$7F
.byte $7F,$00,$00,$00,$00,$78,$7F,$7F
.byte $0F,$78,$7F,$7F,$0F,$78,$7F,$7F
.byte $0F,$78,$7F,$7F,$0F,$78,$7F,$7F
.byte $0F,$78,$7F,$7F,$0F,$78,$7F,$7F
.byte $0F,$78,$7F,$7F,$0F,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$7C,$7F,$7F,$1F,$7C,$7F,$7F
.byte $1F,$7C,$7F,$7F,$1F,$7C,$7F,$7F
.byte $1F,$7C,$7F,$7F,$1F,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$C0,$01,$00,$00,$30,$06
.byte $00,$00,$0C,$18,$00,$00,$03,$60
.byte $00,$00,$00,$00,$00,$3E,$0E,$2F
.byte $1E,$22,$11,$21,$31,$1E,$1F,$2F
.byte $01,$22,$11,$28,$31,$3E,$11,$2F
.byte $1E,$00,$00,$00,$00,$00,$03,$60
.byte $00,$00,$0C,$18,$00,$00,$30,$06
.byte $00,$00,$C0,$01,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$C0,$01
.byte $00,$00,$70,$07,$00,$00,$FC,$1F
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.byte $FF,$FF,$FF,$FF,$FF,$00,$FC,$1F
.byte $00,$00,$70,$07,$00,$00,$C0,$01
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$0C,$00,$00,$00,$00
.byte $33,$00,$00,$00,$60,$40,$01,$00
.byte $00,$18,$00,$06,$00,$00,$06,$00
.byte $18,$00,$40,$01,$00,$60,$00,$30
.byte $00,$00,$00,$03,$0C,$00,$40,$1F
.byte $0C,$03,$00,$30,$60,$30,$0C,$00
.byte $0C,$07,$0F,$30,$70,$7F,$1F,$3C
.byte $40,$01,$06,$03,$3C,$00,$06,$38
.byte $00,$3C,$00,$18,$40,$FF,$3F,$00
.byte $60,$40,$01,$3C,$00,$00,$33,$00
.byte $00,$00,$00,$0C,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$0C,$00,$00
.byte $00,$00,$3F,$00,$00,$00,$60,$7F
.byte $01,$00,$00,$78,$7F,$07,$00,$00
.byte $7E,$7F,$1F,$00,$40,$7F,$7F,$7F
.byte $00,$70,$7F,$7F,$7F,$03,$7C,$7F
.byte $7F,$7F,$0F,$7F,$7F,$7F,$7F,$3F
.byte $7C,$7F,$7F,$7F,$1F,$70,$7F,$7F
.byte $7F,$0F,$40,$7F,$7F,$7F,$0F,$00
.byte $7E,$7F,$1F,$0F,$00,$78,$7F,$0F
.byte $00,$00,$60,$7F,$01,$00,$00,$00
.byte $3F,$00,$00,$00,$00,$0C,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00
.byte $00,$00
;;; Unknown
.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)
.byte px(%1000000),px(%0000000),PX(%0000001),px(%0110000)
.byte px(%1000000),px(%0000000),PX(%0000001),px(%0011000)
.byte px(%1000000),px(%0000000),PX(%0000001),PX(%0001100)
.byte px(%1000000),px(%0000000),PX(%0000001),PX(%0000110)
.byte px(%1000000),px(%0000000),PX(%0000001),PX(%0000011)
.byte px(%1000000),px(%0000000),PX(%0000001),PX(%1111111)
.byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.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)
.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)
.byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1110000)
.byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1111000)
.byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1111100)
.byte PX(%1111111),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(%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
.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)
.byte px(%1001100),px(%0111110),PX(%0111111),px(%0110000)
.byte px(%1000000),px(%0000000),PX(%0000001),px(%0011000)
.byte px(%1001111),px(%1100111),px(%1000001),PX(%0001100)
.byte px(%1000000),px(%0000000),px(%0000001),px(%0000110)
.byte px(%1001111),px(%0011110),px(%0110001),PX(%0000011)
.byte px(%1000000),px(%0000000),PX(%0000001),PX(%1111111)
.byte px(%1000000),px(%0000000),px(%0000000),px(%0000001)
.byte px(%1001111),px(%1100110),px(%0111100),px(%1111001)
.byte px(%1000000),px(%0000000),px(%0000000),px(%0000001)
.byte px(%1001111),px(%0011110),px(%1111111),px(%0000001)
.byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.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)
.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)
.byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1110000)
.byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1111000)
.byte PX(%1111111),PX(%1111111),PX(%1111111),px(%1111100)
.byte PX(%1111111),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(%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
.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(%0000011),px(%0000000),px(%0000000),px(%1100000)
.byte px(%0001100),px(%0011000),px(%0011000),px(%0011000)
.byte px(%0110000),px(%0100100),px(%0101000),px(%0000110)
.byte px(%1000000),px(%0100100),px(%0001000),px(%0000001)
.byte px(%0110000),px(%0100100),px(%0001000),px(%0000110)
.byte px(%0001100),px(%0011000),px(%0001000),px(%0011000)
.byte px(%0000011),px(%0000000),px(%0000000),px(%1100000)
.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(%0000000),PX(%1111111),PX(%1111111),px(%0000000)
.byte px(%0000011),PX(%1111111),PX(%1111111),px(%1100000)
.byte PX(%0001111),PX(%1111111),PX(%1111111),px(%1111000)
.byte PX(%0111111),PX(%1111111),PX(%1111111),px(%1111110)
.byte PX(%0001111),PX(%1111111),PX(%1111111),px(%1111000)
.byte px(%0000011),PX(%1111111),PX(%1111111),px(%1100000)
.byte px(%0000000),PX(%1111111),PX(%1111111),px(%0000000)
.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)
;;; Folder
.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(%0100000),px(%0000001),px(%0000000),px(%0000000)
.byte PX(%0111111),PX(%1111111),PX(%1111111),px(%1111110)
.byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.byte px(%1000000),px(%0000000),px(%0000000),PX(%0000001)
.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
; 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
; Page: 1