Skip to content

Commit 776e255

Browse files
committed
SAVE fixed
1 parent c6878b7 commit 776e255

1 file changed

Lines changed: 28 additions & 7 deletions

File tree

library-asm/save.asm

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,16 @@ SAVE_CONT:
8181
ldir ; Copy String block NAME
8282
ld l, (ix + 13)
8383
ld h, (ix + 14) ; Restores start of bytes
84-
84+
85+
ld a, r
86+
push af
8587
call ROM_SAVE
88+
89+
LOCAL NO_INT
90+
pop af
91+
jp po, NO_INT
92+
ei
93+
NO_INT:
8694
; Recovers ECHO_E since ROM SAVE changes it
8795
ld hl, 1821h
8896
ld (23682), hl
@@ -98,14 +106,15 @@ SAVE_STOP:
98106
LOCAL PO_MSG
99107
LOCAL WAIT_KEY
100108
LOCAL SA_BYTES
109+
LOCAL SA_CHK_BRK
110+
LOCAL SA_CONT
101111

102112
CHAN_OPEN EQU 1601h
103113
PO_MSG EQU 0C0Ah
104114
WAIT_KEY EQU 15D4h
105115
SA_BYTES EQU 04C6h
106116

107117
ROM_SAVE:
108-
109118
push hl
110119
ld a, 0FDh
111120
call CHAN_OPEN
@@ -116,12 +125,17 @@ ROM_SAVE:
116125
call WAIT_KEY
117126
push ix
118127
ld de, 0011h
119-
ld a, r
120-
push af
121128
xor a
122129
call SA_BYTES
130+
pop ix
123131

132+
call SA_CHK_BRK
133+
jr c, SA_CONT
124134
pop ix
135+
ret
136+
137+
SA_CONT:
138+
ei
125139
ld b, 32h
126140

127141
LOCAL SA_1_SEC
@@ -135,9 +149,16 @@ SA_1_SEC:
135149
pop ix
136150
call SA_BYTES
137151

138-
pop af
139-
ret po
140-
ei
152+
SA_CHK_BRK:
153+
ld a, (5C48h)
154+
and 38h
155+
rrca
156+
rrca
157+
rrca
158+
out (0FEh), a
159+
ld a, 7Fh
160+
in a, (0FEh)
161+
rra
141162
ret
142163

143164
#endif

0 commit comments

Comments
 (0)