Skip to content

Commit a46b92d

Browse files
committed
fix: initializes PRINT ATTR2 (PFLAGS) variable
1 parent 2cf59b7 commit a46b92d

75 files changed

Lines changed: 1144 additions & 923 deletions

Some content is hidden

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

src/arch/zx48k/library-asm/print.asm

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ __PRINT_INIT: ; To be called before program starts (initializes library)
2929
ld hl, __PRINT_START
3030
ld (PRINT_JUMP_STATE), hl
3131

32+
;; Clears ATTR2 flags (OVER 2, etc)
33+
xor a
34+
ld (FLAGS2), a
35+
3236
LOCAL SET_SCR_ADDR
3337
call __LOAD_S_POSN
3438
jp __SET_SCR_PTR

src/arch/zxnext/library-asm/print.asm

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ __PRINT_INIT: ; To be called before program starts (initializes library)
2929
ld hl, __PRINT_START
3030
ld (PRINT_JUMP_STATE), hl
3131

32+
;; Clears ATTR2 flags (OVER 2, etc)
33+
xor a
34+
ld (FLAGS2), a
35+
3236
LOCAL SET_SCR_ADDR
3337
call __LOAD_S_POSN
3438
jp __SET_SCR_PTR

tests/functional/zx48k/astore16.asm

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -778,6 +778,9 @@ __PRINT_INIT: ; To be called before program starts (initializes library)
778778
PROC
779779
ld hl, __PRINT_START
780780
ld (PRINT_JUMP_STATE), hl
781+
;; Clears ATTR2 flags (OVER 2, etc)
782+
xor a
783+
ld (FLAGS2), a
781784
LOCAL SET_SCR_ADDR
782785
call __LOAD_S_POSN
783786
jp __SET_SCR_PTR
@@ -820,7 +823,7 @@ __PRINT_CHR:
820823
push hl
821824
call __SCROLL_SCR
822825
pop hl
823-
#line 88 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
826+
#line 92 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
824827
2:
825828
call SET_SCR_ADDR
826829
jr 4f
@@ -856,10 +859,10 @@ __PRGRAPH:
856859
ex de, hl ; HL = Write Address, DE = CHARS address
857860
bit 2, (iy + $47)
858861
call nz, __BOLD
859-
#line 135 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
862+
#line 139 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
860863
bit 4, (iy + $47)
861864
call nz, __ITALIC
862-
#line 140 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
865+
#line 144 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
863866
ld hl, (DFCC)
864867
push hl
865868
ld b, 8 ; 8 bytes per char
@@ -909,7 +912,7 @@ __PRINT_0Dh: ; Called WHEN printing CHR$(13)
909912
push hl
910913
call __SCROLL_SCR
911914
pop hl
912-
#line 206 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
915+
#line 210 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
913916
1:
914917
ld l, 1
915918
__PRINT_EOL_END:
@@ -1028,14 +1031,14 @@ __PRINT_BOLD:
10281031
__PRINT_BOLD2:
10291032
call BOLD_TMP
10301033
jp __PRINT_RESTART
1031-
#line 352 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1034+
#line 356 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
10321035
__PRINT_ITA:
10331036
ld hl, __PRINT_ITA2
10341037
jp __PRINT_SET_STATE
10351038
__PRINT_ITA2:
10361039
call ITALIC_TMP
10371040
jp __PRINT_RESTART
1038-
#line 362 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1041+
#line 366 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
10391042
LOCAL __BOLD
10401043
__BOLD:
10411044
push hl
@@ -1053,7 +1056,7 @@ __BOLD:
10531056
pop hl
10541057
ld de, MEM0
10551058
ret
1056-
#line 383 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1059+
#line 387 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
10571060
LOCAL __ITALIC
10581061
__ITALIC:
10591062
push hl
@@ -1078,12 +1081,12 @@ __ITALIC:
10781081
pop hl
10791082
ld de, MEM0
10801083
ret
1081-
#line 411 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1084+
#line 415 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
10821085
LOCAL __SCROLL_SCR
1083-
#line 485 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1086+
#line 489 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
10841087
__SCROLL_SCR EQU 0DFEh ; Use ROM SCROLL
1085-
#line 487 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1086-
#line 488 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1088+
#line 491 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1089+
#line 492 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
10871090
PRINT_COMMA:
10881091
call __LOAD_S_POSN
10891092
ld a, e
@@ -1128,9 +1131,9 @@ PRINT_AT: ; Changes cursor to ROW, COL
11281131
LOCAL __PRINT_TABLE
11291132
LOCAL __PRINT_TAB, __PRINT_TAB1, __PRINT_TAB2
11301133
LOCAL __PRINT_ITA2
1131-
#line 546 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1134+
#line 550 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
11321135
LOCAL __PRINT_BOLD2
1133-
#line 552 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1136+
#line 556 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
11341137
__PRINT_TABLE: ; Jump table for 0 .. 22 codes
11351138
DW __PRINT_NOP ; 0
11361139
DW __PRINT_NOP ; 1

tests/functional/zx48k/code00.asm

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -831,6 +831,9 @@ __PRINT_INIT: ; To be called before program starts (initializes library)
831831
PROC
832832
ld hl, __PRINT_START
833833
ld (PRINT_JUMP_STATE), hl
834+
;; Clears ATTR2 flags (OVER 2, etc)
835+
xor a
836+
ld (FLAGS2), a
834837
LOCAL SET_SCR_ADDR
835838
call __LOAD_S_POSN
836839
jp __SET_SCR_PTR
@@ -873,7 +876,7 @@ __PRINT_CHR:
873876
push hl
874877
call __SCROLL_SCR
875878
pop hl
876-
#line 88 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
879+
#line 92 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
877880
2:
878881
call SET_SCR_ADDR
879882
jr 4f
@@ -909,10 +912,10 @@ __PRGRAPH:
909912
ex de, hl ; HL = Write Address, DE = CHARS address
910913
bit 2, (iy + $47)
911914
call nz, __BOLD
912-
#line 135 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
915+
#line 139 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
913916
bit 4, (iy + $47)
914917
call nz, __ITALIC
915-
#line 140 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
918+
#line 144 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
916919
ld hl, (DFCC)
917920
push hl
918921
ld b, 8 ; 8 bytes per char
@@ -962,7 +965,7 @@ __PRINT_0Dh: ; Called WHEN printing CHR$(13)
962965
push hl
963966
call __SCROLL_SCR
964967
pop hl
965-
#line 206 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
968+
#line 210 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
966969
1:
967970
ld l, 1
968971
__PRINT_EOL_END:
@@ -1081,14 +1084,14 @@ __PRINT_BOLD:
10811084
__PRINT_BOLD2:
10821085
call BOLD_TMP
10831086
jp __PRINT_RESTART
1084-
#line 352 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1087+
#line 356 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
10851088
__PRINT_ITA:
10861089
ld hl, __PRINT_ITA2
10871090
jp __PRINT_SET_STATE
10881091
__PRINT_ITA2:
10891092
call ITALIC_TMP
10901093
jp __PRINT_RESTART
1091-
#line 362 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1094+
#line 366 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
10921095
LOCAL __BOLD
10931096
__BOLD:
10941097
push hl
@@ -1106,7 +1109,7 @@ __BOLD:
11061109
pop hl
11071110
ld de, MEM0
11081111
ret
1109-
#line 383 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1112+
#line 387 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
11101113
LOCAL __ITALIC
11111114
__ITALIC:
11121115
push hl
@@ -1131,12 +1134,12 @@ __ITALIC:
11311134
pop hl
11321135
ld de, MEM0
11331136
ret
1134-
#line 411 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1137+
#line 415 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
11351138
LOCAL __SCROLL_SCR
1136-
#line 485 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1139+
#line 489 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
11371140
__SCROLL_SCR EQU 0DFEh ; Use ROM SCROLL
1138-
#line 487 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1139-
#line 488 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1141+
#line 491 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1142+
#line 492 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
11401143
PRINT_COMMA:
11411144
call __LOAD_S_POSN
11421145
ld a, e
@@ -1181,9 +1184,9 @@ PRINT_AT: ; Changes cursor to ROW, COL
11811184
LOCAL __PRINT_TABLE
11821185
LOCAL __PRINT_TAB, __PRINT_TAB1, __PRINT_TAB2
11831186
LOCAL __PRINT_ITA2
1184-
#line 546 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1187+
#line 550 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
11851188
LOCAL __PRINT_BOLD2
1186-
#line 552 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1189+
#line 556 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
11871190
__PRINT_TABLE: ; Jump table for 0 .. 22 codes
11881191
DW __PRINT_NOP ; 0
11891192
DW __PRINT_NOP ; 1

tests/functional/zx48k/code01.asm

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -831,6 +831,9 @@ __PRINT_INIT: ; To be called before program starts (initializes library)
831831
PROC
832832
ld hl, __PRINT_START
833833
ld (PRINT_JUMP_STATE), hl
834+
;; Clears ATTR2 flags (OVER 2, etc)
835+
xor a
836+
ld (FLAGS2), a
834837
LOCAL SET_SCR_ADDR
835838
call __LOAD_S_POSN
836839
jp __SET_SCR_PTR
@@ -873,7 +876,7 @@ __PRINT_CHR:
873876
push hl
874877
call __SCROLL_SCR
875878
pop hl
876-
#line 88 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
879+
#line 92 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
877880
2:
878881
call SET_SCR_ADDR
879882
jr 4f
@@ -909,10 +912,10 @@ __PRGRAPH:
909912
ex de, hl ; HL = Write Address, DE = CHARS address
910913
bit 2, (iy + $47)
911914
call nz, __BOLD
912-
#line 135 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
915+
#line 139 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
913916
bit 4, (iy + $47)
914917
call nz, __ITALIC
915-
#line 140 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
918+
#line 144 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
916919
ld hl, (DFCC)
917920
push hl
918921
ld b, 8 ; 8 bytes per char
@@ -962,7 +965,7 @@ __PRINT_0Dh: ; Called WHEN printing CHR$(13)
962965
push hl
963966
call __SCROLL_SCR
964967
pop hl
965-
#line 206 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
968+
#line 210 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
966969
1:
967970
ld l, 1
968971
__PRINT_EOL_END:
@@ -1081,14 +1084,14 @@ __PRINT_BOLD:
10811084
__PRINT_BOLD2:
10821085
call BOLD_TMP
10831086
jp __PRINT_RESTART
1084-
#line 352 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1087+
#line 356 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
10851088
__PRINT_ITA:
10861089
ld hl, __PRINT_ITA2
10871090
jp __PRINT_SET_STATE
10881091
__PRINT_ITA2:
10891092
call ITALIC_TMP
10901093
jp __PRINT_RESTART
1091-
#line 362 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1094+
#line 366 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
10921095
LOCAL __BOLD
10931096
__BOLD:
10941097
push hl
@@ -1106,7 +1109,7 @@ __BOLD:
11061109
pop hl
11071110
ld de, MEM0
11081111
ret
1109-
#line 383 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1112+
#line 387 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
11101113
LOCAL __ITALIC
11111114
__ITALIC:
11121115
push hl
@@ -1131,12 +1134,12 @@ __ITALIC:
11311134
pop hl
11321135
ld de, MEM0
11331136
ret
1134-
#line 411 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1137+
#line 415 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
11351138
LOCAL __SCROLL_SCR
1136-
#line 485 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1139+
#line 489 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
11371140
__SCROLL_SCR EQU 0DFEh ; Use ROM SCROLL
1138-
#line 487 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1139-
#line 488 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1141+
#line 491 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1142+
#line 492 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
11401143
PRINT_COMMA:
11411144
call __LOAD_S_POSN
11421145
ld a, e
@@ -1181,9 +1184,9 @@ PRINT_AT: ; Changes cursor to ROW, COL
11811184
LOCAL __PRINT_TABLE
11821185
LOCAL __PRINT_TAB, __PRINT_TAB1, __PRINT_TAB2
11831186
LOCAL __PRINT_ITA2
1184-
#line 546 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1187+
#line 550 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
11851188
LOCAL __PRINT_BOLD2
1186-
#line 552 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
1189+
#line 556 "/zxbasic/src/arch/zx48k/library-asm/print.asm"
11871190
__PRINT_TABLE: ; Jump table for 0 .. 22 codes
11881191
DW __PRINT_NOP ; 0
11891192
DW __PRINT_NOP ; 1

0 commit comments

Comments
 (0)