Add XZIP interpreter revision C.

This commit is contained in:
Eric Smith 2023-07-03 03:47:53 -06:00
parent 939785c594
commit 0b73f46450
3 changed files with 42 additions and 5 deletions

View File

@ -12,7 +12,8 @@ all: zip1.lst zip1.bin zip1-check \
ezip2c.lst ezip2c.bin ezip2c-check \
ezip2d.lst ezip2d.bin ezip2d-check \
ezip2h.lst ezip2h.bin ezip2h-check \
xzip2a.lst xzip2a.bin xzip2a-check
xzip2a.lst xzip2a.bin xzip2a-check \
xzip2c.lst xzip2c.bin xzip2a-check
%.p %.lst: %.asm
@ -169,6 +170,16 @@ xzip2a-check: xzip2a.bin
echo "9aaf97852fd38f0015248074e88e3b1045602cbf8d01bb11d489e0687dc5287d xzip2a.bin" | sha256sum -c
xzip2c.p xzip2c.lst: xzip.asm
asl xzip.asm -o xzip2c.p -L -OLIST xzip2c.lst -D iver='$$0503'
xzip2c.bin: xzip2c.p
p2bin -r '$$d000-$$feff' xzip2c.p
xzip2c-check: xzip2c.bin
echo "cc255dcc4d0960482a7e65927c8e8aa8f5de5831710c7bbc65dcb69689f4d208 xzip2c.bin" | sha256sum -c
clean:
rm -f zip{1,2,3,3a,3b}.{p,lst,bin}
rm -f ezip2{a,b,c,d,h}.{p,lst,bin}

View File

@ -109,9 +109,9 @@ There were five revisions of the Apple II XZIP interpreter, A, C, E,
F, and H. The platform number will be reported as 2, except when using
an Apple IIc, which will be reported as 9.
Early work on reverse-engineering XZIP interpreter revision A is
present in the source file "ezip.asm". This does not use an include
file for macro definitions.
Early work on reverse-engineering XZIP interpreter revisions A and C
are present in the source file "xzip.asm". This does not use an
include file for macro definitions.
## YZIP

View File

@ -6092,6 +6092,12 @@ new_line:
bne .fwd2
lda wndtop
sta Zda
if iver>=iver_c
inc Zda
inc Zda
endif
bit kbd_strb
lda hdr_unknown_29
sta D057b
@ -6586,7 +6592,11 @@ Sfada: jsr Sf8e1
sta Dfdf0
ldy wndtop
sty Zda
if iver==iver_a
inc Zda
endif
tay
lda (Zc8),y
cmp #$4f
@ -6614,7 +6624,13 @@ Sfada: jsr Sf8e1
beq .fwd10
jmp .fwd11
.fwd4: cmp #$0d
.fwd4:
if iver>=iver_c
tay
bmi .fwd9
endif
cmp #$0d
beq .fwd10
cmp #$7f
beq .fwd8
@ -6658,6 +6674,11 @@ Sfada: jsr Sf8e1
.fwd10: sta Dfdf0
lda #$8d
jsr Sdb39
if iver>=iver_c
inc Zda
endif
lda Zd9
beq .fwd11
lda hdr_flags2+1
@ -6845,6 +6866,11 @@ op_read_char:
jsr Sf8e1
lda wndtop
sta Zda
if iver>=iver_c
inc Zda
endif
lda #$00
sta Zd6
sta Z6e