Add ZIP rev M.

This commit is contained in:
Eric Smith 2023-07-01 15:13:24 -06:00
parent dfba493013
commit 988c140bc7
2 changed files with 59 additions and 2 deletions

View File

@ -6,6 +6,7 @@ all: zip1.lst zip1.bin zip1-check \
zip3f.lst zip3f.bin zip3f-check \
zip3h.lst zip3h.bin zip3h-check \
zip3k.lst zip3k.bin zip3k-check \
zip3m.lst zip3m.bin zip3m-check \
ezip2a.lst ezip2a.bin ezip2a-check \
ezip2b.lst ezip2b.bin ezip2b-check \
ezip2c.lst ezip2c.bin ezip2c-check \
@ -97,6 +98,16 @@ zip3k-check: zip3k.bin
echo "0fd531fb0366bff94fdc1e4e95fee8ca77d2a513d3dbb5ddc4fd518acbeb0c60 zip3k.bin" | sha256sum -c -
zip3m.p zip3m.lst: zip-late.asm
asl zip-late.asm -o zip3m.p -L -OLIST zip3m.lst -D iver='$$030d'
zip3m.bin: zip3m.p
p2bin -r '$$0900-$$27ff' zip3m.p
zip3m-check: zip3m.bin
echo "e9f42d7f2ea8b8cd942a95abc11a90a46d69fa4dd3102bd1ec35bb9cfd3f9a97 zip3m.bin" | sha256sum -c -
ezip2a.p ezip2a.lst: ezip.asm
asl ezip.asm -o ezip2a.p -L -OLIST ezip2a.lst -D iver='$$0201'

View File

@ -17,9 +17,13 @@ iver3h equ $0308 ; Sends 80-col sequence to printer firmware.
; Quit says end of session rather than end of story.
; Doesn't use self-modifying code for verify.
iver3k equ $030b
iver3k equ $030b ; Disk routines rearranged.
; Forces CSWL to be COUT at start.
iver3m equ $030d ; Eliminated some manipulation of the screen window
; in save and restore.
; Fixed a bug in upper/lower case conversion.
iver3m equ $030d
ifndef iver
@ -1069,6 +1073,8 @@ int_err_0e_alt:
e_0dd9: jsr op_new_line
if iver<=iver3k
lda #$00
sta wndtop
jsr home
@ -1079,6 +1085,14 @@ e_0dd9: jsr op_new_line
sta cursrv
jmp S144e
else
lda #$00
sta Zdf
rts
endif
msg_default_is: text_str " (Default is "
D0dfe: text_str "*) >"
@ -1350,8 +1364,11 @@ msg_len_saving_position equ *-msg_saving_position
op_save:
if iver<=iver3k
lda wndtop
pha
endif
jsr e_0dd9
prt_msg save_position
jsr S0e91
@ -1377,9 +1394,13 @@ op_save:
bcc .fwd1
.loop2: jsr S0ff8
if iver<=iver3k
pla
sta wndtop
jsr home
endif
jmp predicate_false
.fwd1: lda #(hdr_arch>>8)-3
@ -1408,9 +1429,12 @@ op_save:
sta Zf0
endif
if iver<=iver3k
pla
sta wndtop
jsr home
endif
jmp predicate_true
@ -1429,8 +1453,11 @@ msg_len_restoring_position equ *-msg_restoring_position
op_restore:
if iver<=iver3k
lda wndtop
pha
endif
jsr e_0dd9
prt_msg restore_position
jsr S0e91
@ -1460,9 +1487,13 @@ op_restore:
bpl .loop3
jsr S0ff8
if iver<=iver3k
pla
sta wndtop
jsr home
endif
jmp predicate_false
.fwd1: lda hdr_flags2
@ -1515,9 +1546,12 @@ op_restore:
sta Zf0
endif
if iver<=iver3k
pla
sta wndtop
jsr home
endif
jmp predicate_true
@ -1663,9 +1697,21 @@ S1275: sta Ze2
tya
pha
lda Ze2
if iver<=iver3k
cmp #$60
else
cmp #$61
endif
bcc .fwd1
if iver<=iver3k
cmp #$80
else
cmp #$7b
endif
bcs .fwd1
ldx D172b
bne .fwd1