Skip to content

Commit 2bcfc31

Browse files
committed
Test updated
1 parent 70d1c72 commit 2bcfc31

File tree

4 files changed

+112
-24
lines changed

4 files changed

+112
-24
lines changed

tests/functional/save.asm

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -439,7 +439,14 @@ SAVE_CONT:
439439
ldir ; Copy String block NAME
440440
ld l, (ix + 13)
441441
ld h, (ix + 14) ; Restores start of bytes
442+
ld a, r
443+
push af
442444
call ROM_SAVE
445+
LOCAL NO_INT
446+
pop af
447+
jp po, NO_INT
448+
ei
449+
NO_INT:
443450
; Recovers ECHO_E since ROM SAVE changes it
444451
ld hl, 1821h
445452
ld (23682), hl
@@ -452,6 +459,8 @@ SAVE_STOP:
452459
LOCAL PO_MSG
453460
LOCAL WAIT_KEY
454461
LOCAL SA_BYTES
462+
LOCAL SA_CHK_BRK
463+
LOCAL SA_CONT
455464
CHAN_OPEN EQU 1601h
456465
PO_MSG EQU 0C0Ah
457466
WAIT_KEY EQU 15D4h
@@ -467,11 +476,15 @@ ROM_SAVE:
467476
call WAIT_KEY
468477
push ix
469478
ld de, 0011h
470-
ld a, r
471-
push af
472479
xor a
473480
call SA_BYTES
474481
pop ix
482+
call SA_CHK_BRK
483+
jr c, SA_CONT
484+
pop ix
485+
ret
486+
SA_CONT:
487+
ei
475488
ld b, 32h
476489
LOCAL SA_1_SEC
477490
SA_1_SEC:
@@ -482,11 +495,20 @@ SA_1_SEC:
482495
ld a, 0FFh
483496
pop ix
484497
call SA_BYTES
485-
pop af
486-
ret po
487-
ei
498+
SA_CHK_BRK:
499+
ld b, a
500+
ld a, (5C48h)
501+
and 38h
502+
rrca
503+
rrca
504+
rrca
505+
out (0FEh), a
506+
ld a, 7Fh
507+
in a, (0FEh)
508+
rra
509+
ld a, b
488510
ret
489-
#line 144 "/zxbasic/library-asm/save.asm"
511+
#line 167 "/zxbasic/library-asm/save.asm"
490512
ENDP
491513
#line 33 "save.bas"
492514
ZXBASIC_USER_DATA:

tests/functional/save01.asm

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -443,7 +443,14 @@ SAVE_CONT:
443443
ldir ; Copy String block NAME
444444
ld l, (ix + 13)
445445
ld h, (ix + 14) ; Restores start of bytes
446+
ld a, r
447+
push af
446448
call ROM_SAVE
449+
LOCAL NO_INT
450+
pop af
451+
jp po, NO_INT
452+
ei
453+
NO_INT:
447454
; Recovers ECHO_E since ROM SAVE changes it
448455
ld hl, 1821h
449456
ld (23682), hl
@@ -456,6 +463,8 @@ SAVE_STOP:
456463
LOCAL PO_MSG
457464
LOCAL WAIT_KEY
458465
LOCAL SA_BYTES
466+
LOCAL SA_CHK_BRK
467+
LOCAL SA_CONT
459468
CHAN_OPEN EQU 1601h
460469
PO_MSG EQU 0C0Ah
461470
WAIT_KEY EQU 15D4h
@@ -471,11 +480,15 @@ ROM_SAVE:
471480
call WAIT_KEY
472481
push ix
473482
ld de, 0011h
474-
ld a, r
475-
push af
476483
xor a
477484
call SA_BYTES
478485
pop ix
486+
call SA_CHK_BRK
487+
jr c, SA_CONT
488+
pop ix
489+
ret
490+
SA_CONT:
491+
ei
479492
ld b, 32h
480493
LOCAL SA_1_SEC
481494
SA_1_SEC:
@@ -486,11 +499,20 @@ SA_1_SEC:
486499
ld a, 0FFh
487500
pop ix
488501
call SA_BYTES
489-
pop af
490-
ret po
491-
ei
502+
SA_CHK_BRK:
503+
ld b, a
504+
ld a, (5C48h)
505+
and 38h
506+
rrca
507+
rrca
508+
rrca
509+
out (0FEh), a
510+
ld a, 7Fh
511+
in a, (0FEh)
512+
rra
513+
ld a, b
492514
ret
493-
#line 144 "/zxbasic/library-asm/save.asm"
515+
#line 167 "/zxbasic/library-asm/save.asm"
494516
ENDP
495517
#line 37 "save01.bas"
496518
ZXBASIC_USER_DATA:

tests/functional/save02.asm

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,14 @@ SAVE_CONT:
440440
ldir ; Copy String block NAME
441441
ld l, (ix + 13)
442442
ld h, (ix + 14) ; Restores start of bytes
443+
ld a, r
444+
push af
443445
call ROM_SAVE
446+
LOCAL NO_INT
447+
pop af
448+
jp po, NO_INT
449+
ei
450+
NO_INT:
444451
; Recovers ECHO_E since ROM SAVE changes it
445452
ld hl, 1821h
446453
ld (23682), hl
@@ -453,6 +460,8 @@ SAVE_STOP:
453460
LOCAL PO_MSG
454461
LOCAL WAIT_KEY
455462
LOCAL SA_BYTES
463+
LOCAL SA_CHK_BRK
464+
LOCAL SA_CONT
456465
CHAN_OPEN EQU 1601h
457466
PO_MSG EQU 0C0Ah
458467
WAIT_KEY EQU 15D4h
@@ -468,11 +477,15 @@ ROM_SAVE:
468477
call WAIT_KEY
469478
push ix
470479
ld de, 0011h
471-
ld a, r
472-
push af
473480
xor a
474481
call SA_BYTES
475482
pop ix
483+
call SA_CHK_BRK
484+
jr c, SA_CONT
485+
pop ix
486+
ret
487+
SA_CONT:
488+
ei
476489
ld b, 32h
477490
LOCAL SA_1_SEC
478491
SA_1_SEC:
@@ -483,11 +496,20 @@ SA_1_SEC:
483496
ld a, 0FFh
484497
pop ix
485498
call SA_BYTES
486-
pop af
487-
ret po
488-
ei
499+
SA_CHK_BRK:
500+
ld b, a
501+
ld a, (5C48h)
502+
and 38h
503+
rrca
504+
rrca
505+
rrca
506+
out (0FEh), a
507+
ld a, 7Fh
508+
in a, (0FEh)
509+
rra
510+
ld a, b
489511
ret
490-
#line 144 "/zxbasic/library-asm/save.asm"
512+
#line 167 "/zxbasic/library-asm/save.asm"
491513
ENDP
492514
#line 34 "save02.bas"
493515
ZXBASIC_USER_DATA:

tests/functional/save03.asm

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -439,7 +439,14 @@ SAVE_CONT:
439439
ldir ; Copy String block NAME
440440
ld l, (ix + 13)
441441
ld h, (ix + 14) ; Restores start of bytes
442+
ld a, r
443+
push af
442444
call ROM_SAVE
445+
LOCAL NO_INT
446+
pop af
447+
jp po, NO_INT
448+
ei
449+
NO_INT:
443450
; Recovers ECHO_E since ROM SAVE changes it
444451
ld hl, 1821h
445452
ld (23682), hl
@@ -452,6 +459,8 @@ SAVE_STOP:
452459
LOCAL PO_MSG
453460
LOCAL WAIT_KEY
454461
LOCAL SA_BYTES
462+
LOCAL SA_CHK_BRK
463+
LOCAL SA_CONT
455464
CHAN_OPEN EQU 1601h
456465
PO_MSG EQU 0C0Ah
457466
WAIT_KEY EQU 15D4h
@@ -467,11 +476,15 @@ ROM_SAVE:
467476
call WAIT_KEY
468477
push ix
469478
ld de, 0011h
470-
ld a, r
471-
push af
472479
xor a
473480
call SA_BYTES
474481
pop ix
482+
call SA_CHK_BRK
483+
jr c, SA_CONT
484+
pop ix
485+
ret
486+
SA_CONT:
487+
ei
475488
ld b, 32h
476489
LOCAL SA_1_SEC
477490
SA_1_SEC:
@@ -482,11 +495,20 @@ SA_1_SEC:
482495
ld a, 0FFh
483496
pop ix
484497
call SA_BYTES
485-
pop af
486-
ret po
487-
ei
498+
SA_CHK_BRK:
499+
ld b, a
500+
ld a, (5C48h)
501+
and 38h
502+
rrca
503+
rrca
504+
rrca
505+
out (0FEh), a
506+
ld a, 7Fh
507+
in a, (0FEh)
508+
rra
509+
ld a, b
488510
ret
489-
#line 144 "/zxbasic/library-asm/save.asm"
511+
#line 167 "/zxbasic/library-asm/save.asm"
490512
ENDP
491513
#line 33 "save03.bas"
492514
ZXBASIC_USER_DATA:

0 commit comments

Comments
 (0)