Skip to content

Commit 8a7a5fa

Browse files
committed
test: update tests
1 parent d69cdbb commit 8a7a5fa

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+21892
-22006
lines changed

tests/functional/zx48k/astore16.asm

Lines changed: 70 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ _obj.__DATA__:
7676
ld (hl), 15
7777
inc hl
7878
ld (hl), 39
79+
call .core.COPY_ATTR
7980
ld a, (_i)
8081
ld l, a
8182
ld h, 0
@@ -244,7 +245,8 @@ TMP_ARR_PTR:
244245
DW 0 ; temporary storage for pointer to tables
245246
ENDP
246247
pop namespace
247-
#line 51 "zx48k/astore16.bas"
248+
#line 52 "zx48k/astore16.bas"
249+
#line 1 "/zxbasic/src/arch/zx48k/library-asm/copy_attr.asm"
248250
#line 1 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
249251
; vim:ts=4:sw=4:et:
250252
; PRINT command routine
@@ -594,60 +596,6 @@ BRIGHT_TMP:
594596
#line 1 "/zxbasic/src/arch/zx48k/library-asm/over.asm"
595597
; Sets OVER flag in P_FLAG permanently
596598
; Parameter: OVER flag in bit 0 of A register
597-
#line 1 "/zxbasic/src/arch/zx48k/library-asm/copy_attr.asm"
598-
#line 4 "/zxbasic/src/arch/zx48k/library-asm/copy_attr.asm"
599-
push namespace core
600-
COPY_ATTR:
601-
; Just copies current permanent attribs into temporal attribs
602-
; and sets print mode
603-
PROC
604-
LOCAL INVERSE1
605-
LOCAL __REFRESH_TMP
606-
INVERSE1 EQU 02Fh
607-
ld hl, (ATTR_P)
608-
ld (ATTR_T), hl
609-
ld hl, FLAGS2
610-
call __REFRESH_TMP
611-
ld hl, P_FLAG
612-
call __REFRESH_TMP
613-
__SET_ATTR_MODE: ; Another entry to set print modes. A contains (P_FLAG)
614-
LOCAL TABLE
615-
LOCAL CONT2
616-
rra ; Over bit to carry
617-
ld a, (FLAGS2)
618-
rla ; Over bit in bit 1, Over2 bit in bit 2
619-
and 3 ; Only bit 0 and 1 (OVER flag)
620-
ld c, a
621-
ld b, 0
622-
ld hl, TABLE
623-
add hl, bc
624-
ld a, (hl)
625-
ld (PRINT_MODE), a
626-
ld hl, (P_FLAG)
627-
xor a ; NOP -> INVERSE0
628-
bit 2, l
629-
jr z, CONT2
630-
ld a, INVERSE1 ; CPL -> INVERSE1
631-
CONT2:
632-
ld (INVERSE_MODE), a
633-
ret
634-
TABLE:
635-
nop ; NORMAL MODE
636-
xor (hl) ; OVER 1 MODE
637-
and (hl) ; OVER 2 MODE
638-
or (hl) ; OVER 3 MODE
639-
#line 67 "/zxbasic/src/arch/zx48k/library-asm/copy_attr.asm"
640-
__REFRESH_TMP:
641-
ld a, (hl)
642-
and 0b10101010
643-
ld c, a
644-
rra
645-
or c
646-
ld (hl), a
647-
ret
648-
ENDP
649-
pop namespace
650-
#line 4 "/zxbasic/src/arch/zx48k/library-asm/over.asm"
651599
push namespace core
652600
OVER:
653601
PROC
@@ -889,11 +837,10 @@ INVERSE_MODE: ; 00 -> NOP -> INVERSE 0
889837
inc hl
890838
ld (DFCC), hl
891839
ld hl, (DFCCL) ; current ATTR Pos
892-
push hl
893-
call __SET_ATTR
894-
pop hl
895840
inc hl
896-
ld (DFCCL),hl
841+
ld (DFCCL), hl
842+
dec hl
843+
call __SET_ATTR
897844
exx
898845
ret
899846
; ------------- SPECIAL CHARS (< 32) -----------------
@@ -912,7 +859,7 @@ __PRINT_0Dh: ; Called WHEN printing CHR$(13)
912859
push hl
913860
call __SCROLL_SCR
914861
pop hl
915-
#line 210 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
862+
#line 209 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
916863
1:
917864
ld l, 1
918865
__PRINT_EOL_END:
@@ -1029,14 +976,14 @@ __PRINT_BOLD:
1029976
__PRINT_BOLD2:
1030977
call BOLD_TMP
1031978
jp __PRINT_RESTART
1032-
#line 354 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
979+
#line 353 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1033980
__PRINT_ITA:
1034981
ld hl, __PRINT_ITA2
1035982
jp __PRINT_SET_STATE
1036983
__PRINT_ITA2:
1037984
call ITALIC_TMP
1038985
jp __PRINT_RESTART
1039-
#line 364 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
986+
#line 363 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1040987
LOCAL __BOLD
1041988
__BOLD:
1042989
push hl
@@ -1054,7 +1001,7 @@ __BOLD:
10541001
pop hl
10551002
ld de, MEM0
10561003
ret
1057-
#line 385 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1004+
#line 384 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
10581005
LOCAL __ITALIC
10591006
__ITALIC:
10601007
push hl
@@ -1079,12 +1026,12 @@ __ITALIC:
10791026
pop hl
10801027
ld de, MEM0
10811028
ret
1082-
#line 413 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1029+
#line 412 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
10831030
LOCAL __SCROLL_SCR
1084-
#line 487 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1031+
#line 486 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
10851032
__SCROLL_SCR EQU 0DFEh ; Use ROM SCROLL
1033+
#line 488 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
10861034
#line 489 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1087-
#line 490 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
10881035
PRINT_COMMA:
10891036
call __LOAD_S_POSN
10901037
ld a, e
@@ -1127,9 +1074,9 @@ PRINT_AT: ; Changes cursor to ROW, COL
11271074
LOCAL __PRINT_TABLE
11281075
LOCAL __PRINT_TAB, __PRINT_TAB1, __PRINT_TAB2
11291076
LOCAL __PRINT_ITA2
1130-
#line 546 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1077+
#line 545 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
11311078
LOCAL __PRINT_BOLD2
1132-
#line 552 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1079+
#line 551 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
11331080
__PRINT_TABLE: ; Jump table for 0 .. 22 codes
11341081
DW __PRINT_NOP ; 0
11351082
DW __PRINT_NOP ; 1
@@ -1157,7 +1104,60 @@ __PRINT_TABLE: ; Jump table for 0 .. 22 codes
11571104
DW __PRINT_TAB ; 23 TAB
11581105
ENDP
11591106
pop namespace
1160-
#line 52 "zx48k/astore16.bas"
1107+
#line 3 "/zxbasic/src/arch/zx48k/library-asm/copy_attr.asm"
1108+
#line 4 "/zxbasic/src/arch/zx48k/library-asm/copy_attr.asm"
1109+
push namespace core
1110+
COPY_ATTR:
1111+
; Just copies current permanent attribs into temporal attribs
1112+
; and sets print mode
1113+
PROC
1114+
LOCAL INVERSE1
1115+
LOCAL __REFRESH_TMP
1116+
INVERSE1 EQU 02Fh
1117+
ld hl, (ATTR_P)
1118+
ld (ATTR_T), hl
1119+
ld hl, FLAGS2
1120+
call __REFRESH_TMP
1121+
ld hl, P_FLAG
1122+
call __REFRESH_TMP
1123+
__SET_ATTR_MODE: ; Another entry to set print modes. A contains (P_FLAG)
1124+
LOCAL TABLE
1125+
LOCAL CONT2
1126+
rra ; Over bit to carry
1127+
ld a, (FLAGS2)
1128+
rla ; Over bit in bit 1, Over2 bit in bit 2
1129+
and 3 ; Only bit 0 and 1 (OVER flag)
1130+
ld c, a
1131+
ld b, 0
1132+
ld hl, TABLE
1133+
add hl, bc
1134+
ld a, (hl)
1135+
ld (PRINT_MODE), a
1136+
ld hl, (P_FLAG)
1137+
xor a ; NOP -> INVERSE0
1138+
bit 2, l
1139+
jr z, CONT2
1140+
ld a, INVERSE1 ; CPL -> INVERSE1
1141+
CONT2:
1142+
ld (INVERSE_MODE), a
1143+
ret
1144+
TABLE:
1145+
nop ; NORMAL MODE
1146+
xor (hl) ; OVER 1 MODE
1147+
and (hl) ; OVER 2 MODE
1148+
or (hl) ; OVER 3 MODE
1149+
#line 67 "/zxbasic/src/arch/zx48k/library-asm/copy_attr.asm"
1150+
__REFRESH_TMP:
1151+
ld a, (hl)
1152+
and 0b10101010
1153+
ld c, a
1154+
rra
1155+
or c
1156+
ld (hl), a
1157+
ret
1158+
ENDP
1159+
pop namespace
1160+
#line 53 "zx48k/astore16.bas"
11611161
#line 1 "/zxbasic/src/arch/zx48k/library-asm/printu16.asm"
11621162
#line 1 "/zxbasic/src/arch/zx48k/library-asm/printi16.asm"
11631163
#line 1 "/zxbasic/src/arch/zx48k/library-asm/printnum.asm"
@@ -1305,5 +1305,5 @@ __PRINTU_LOOP:
13051305
ENDP
13061306
pop namespace
13071307
#line 2 "/zxbasic/src/arch/zx48k/library-asm/printu16.asm"
1308-
#line 53 "zx48k/astore16.bas"
1308+
#line 55 "zx48k/astore16.bas"
13091309
END

tests/functional/zx48k/attr.asm

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
call .core.OVER
3131
ld a, 1
3232
call .core.BOLD
33-
call .core.COPY_ATTR
3433
ld hl, 0
3534
ld b, h
3635
ld c, l
@@ -131,7 +130,7 @@ BOLD_TMP:
131130
ret
132131
ENDP
133132
pop namespace
134-
#line 28 "zx48k/attr.bas"
133+
#line 27 "zx48k/attr.bas"
135134
#line 1 "/zxbasic/src/arch/zx48k/library-asm/flash.asm"
136135
; Sets flash flag in ATTR_P permanently
137136
; Parameter: Paper color in A register
@@ -168,7 +167,7 @@ FLASH_TMP:
168167
jr __SET_FLASH
169168
ENDP
170169
pop namespace
171-
#line 30 "zx48k/attr.bas"
170+
#line 28 "zx48k/attr.bas"
172171
#line 1 "/zxbasic/src/arch/zx48k/library-asm/ink.asm"
173172
; Sets ink color in ATTR_P permanently
174173
; Parameter: Paper color in A register
@@ -205,7 +204,7 @@ INK_TMP:
205204
jp __SET_INK
206205
ENDP
207206
pop namespace
208-
#line 31 "zx48k/attr.bas"
207+
#line 29 "zx48k/attr.bas"
209208
#line 1 "/zxbasic/src/arch/zx48k/library-asm/over.asm"
210209
; Sets OVER flag in P_FLAG permanently
211210
; Parameter: OVER flag in bit 0 of A register
@@ -244,7 +243,7 @@ OVER_TMP:
244243
jp __SET_ATTR_MODE
245244
ENDP
246245
pop namespace
247-
#line 32 "zx48k/attr.bas"
246+
#line 30 "zx48k/attr.bas"
248247
#line 1 "/zxbasic/src/arch/zx48k/library-asm/paper.asm"
249248
; Sets paper color in ATTR_P permanently
250249
; Parameter: Paper color in A register
@@ -284,5 +283,5 @@ PAPER_TMP:
284283
jp __SET_PAPER
285284
ENDP
286285
pop namespace
287-
#line 33 "zx48k/attr.bas"
286+
#line 31 "zx48k/attr.bas"
288287
END

tests/functional/zx48k/attr_in_subs.asm

Lines changed: 4 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ _screenAttributes2:
4646
call .core.BRIGHT
4747
ld a, 2
4848
call .core.INK
49-
call .core.COPY_ATTR
5049
_screenAttributes2__leave:
5150
ld sp, ix
5251
pop ix
@@ -115,7 +114,7 @@ BRIGHT_TMP:
115114
jr __SET_BRIGHT
116115
ENDP
117116
pop namespace
118-
#line 34 "zx48k/attr_in_subs.bas"
117+
#line 33 "zx48k/attr_in_subs.bas"
119118
#line 1 "/zxbasic/src/arch/zx48k/library-asm/cls.asm"
120119
;; Clears the user screen (24 rows)
121120
push namespace core
@@ -146,38 +145,7 @@ CLS:
146145
ret
147146
ENDP
148147
pop namespace
149-
#line 35 "zx48k/attr_in_subs.bas"
150-
#line 1 "/zxbasic/src/arch/zx48k/library-asm/copy_attr.asm"
151-
#line 4 "/zxbasic/src/arch/zx48k/library-asm/copy_attr.asm"
152-
push namespace core
153-
COPY_ATTR:
154-
; Just copies current permanent attribs into temporal attribs
155-
; and sets print mode
156-
PROC
157-
LOCAL INVERSE1
158-
LOCAL __REFRESH_TMP
159-
INVERSE1 EQU 02Fh
160-
ld hl, (ATTR_P)
161-
ld (ATTR_T), hl
162-
ld hl, FLAGS2
163-
call __REFRESH_TMP
164-
ld hl, P_FLAG
165-
call __REFRESH_TMP
166-
__SET_ATTR_MODE: ; Another entry to set print modes. A contains (P_FLAG)
167-
#line 65 "/zxbasic/src/arch/zx48k/library-asm/copy_attr.asm"
168-
ret
169-
#line 67 "/zxbasic/src/arch/zx48k/library-asm/copy_attr.asm"
170-
__REFRESH_TMP:
171-
ld a, (hl)
172-
and 0b10101010
173-
ld c, a
174-
rra
175-
or c
176-
ld (hl), a
177-
ret
178-
ENDP
179-
pop namespace
180-
#line 36 "zx48k/attr_in_subs.bas"
148+
#line 34 "zx48k/attr_in_subs.bas"
181149
#line 1 "/zxbasic/src/arch/zx48k/library-asm/ink.asm"
182150
; Sets ink color in ATTR_P permanently
183151
; Parameter: Paper color in A register
@@ -214,7 +182,7 @@ INK_TMP:
214182
jp __SET_INK
215183
ENDP
216184
pop namespace
217-
#line 37 "zx48k/attr_in_subs.bas"
185+
#line 35 "zx48k/attr_in_subs.bas"
218186
#line 1 "/zxbasic/src/arch/zx48k/library-asm/paper.asm"
219187
; Sets paper color in ATTR_P permanently
220188
; Parameter: Paper color in A register
@@ -254,5 +222,5 @@ PAPER_TMP:
254222
jp __SET_PAPER
255223
ENDP
256224
pop namespace
257-
#line 38 "zx48k/attr_in_subs.bas"
225+
#line 36 "zx48k/attr_in_subs.bas"
258226
END

0 commit comments

Comments
 (0)