mirror of
https://github.com/irmen/prog8.git
synced 2025-01-13 10:29:52 +00:00
removed a few more hazardous zp addresses
This commit is contained in:
parent
f29ec3b4e1
commit
0f91ce6441
@ -86,7 +86,7 @@ object MachineDefinition {
|
|||||||
|
|
||||||
// add the other free Zp addresses,
|
// add the other free Zp addresses,
|
||||||
// these are valid for the C-64 (when no RS232 I/O is performed) but to keep BASIC running fully:
|
// these are valid for the C-64 (when no RS232 I/O is performed) but to keep BASIC running fully:
|
||||||
free.addAll(listOf(0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0d, 0x0e,
|
free.addAll(listOf(0x04, 0x05, 0x06, 0x0a, 0x0e,
|
||||||
0x94, 0x95, 0xa7, 0xa8, 0xa9, 0xaa,
|
0x94, 0x95, 0xa7, 0xa8, 0xa9, 0xaa,
|
||||||
0xb5, 0xb6, 0xf7, 0xf8, 0xf9))
|
0xb5, 0xb6, 0xf7, 0xf8, 0xf9))
|
||||||
}
|
}
|
||||||
|
117
examples/test.p8
117
examples/test.p8
@ -1,32 +1,111 @@
|
|||||||
%import c64utils
|
%import c64utils
|
||||||
%import c64flt
|
%import c64flt
|
||||||
%zeropage basicsafe
|
|
||||||
%option enable_floats
|
%option enable_floats
|
||||||
|
%zeropage basicsafe ; @todo dontuse
|
||||||
|
|
||||||
main {
|
main {
|
||||||
|
|
||||||
sub start() {
|
|
||||||
|
|
||||||
ubyte x=3
|
sub start() {
|
||||||
ubyte y=2
|
|
||||||
ubyte a=1
|
ubyte ub=200
|
||||||
ubyte s=0
|
byte bb=-100
|
||||||
float repr=4.4
|
uword uw = 2000
|
||||||
;memset(c64.Screen, 40, 1)
|
word ww = -1000
|
||||||
;memset(c64.Screen+40, 80, 2)
|
float fl = 99.99
|
||||||
A=x
|
|
||||||
A=y
|
c64scr.print("++\n")
|
||||||
Y=a
|
ub++
|
||||||
A=s
|
bb++
|
||||||
|
uw++
|
||||||
|
ww++
|
||||||
|
fl++
|
||||||
|
|
||||||
|
check_ub(ub, 201)
|
||||||
|
Y=100
|
||||||
|
Y++
|
||||||
|
check_ub(Y, 101)
|
||||||
|
check_fl(fl, 100.99) ; @todo CLOBBERS OTHER VARS
|
||||||
|
check_b(bb, -99)
|
||||||
|
check_uw(uw, 2001)
|
||||||
|
check_w(ww, -999)
|
||||||
|
|
||||||
|
c64scr.print("--\n")
|
||||||
|
ub--
|
||||||
|
bb--
|
||||||
|
uw--
|
||||||
|
ww--
|
||||||
|
fl--
|
||||||
|
check_ub(ub, 200)
|
||||||
|
Y=100
|
||||||
|
Y--
|
||||||
|
check_ub(Y, 99)
|
||||||
|
check_fl(fl, 99.99) ; @todo CLOBBERS OTHER VARS
|
||||||
|
check_b(bb, -100)
|
||||||
|
check_uw(uw, 2000)
|
||||||
|
check_w(ww, -1000)
|
||||||
|
|
||||||
|
@($0400+39) = X
|
||||||
|
;c64.Screen[39] = X ; @todo compiler error
|
||||||
}
|
}
|
||||||
|
|
||||||
sub foo() {
|
sub check_ub(ubyte value, ubyte expected) {
|
||||||
|
if value==expected
|
||||||
|
c64scr.print(" ok ")
|
||||||
|
else
|
||||||
|
c64scr.print("err! ")
|
||||||
|
c64scr.print(" ubyte ")
|
||||||
|
c64scr.print_ub(value)
|
||||||
|
c64.CHROUT(',')
|
||||||
|
c64scr.print_ub(expected)
|
||||||
|
c64.CHROUT('\n')
|
||||||
|
}
|
||||||
|
|
||||||
x:
|
sub check_b(byte value, byte expected) {
|
||||||
s:
|
if value==expected
|
||||||
y:
|
c64scr.print(" ok ")
|
||||||
a:
|
else
|
||||||
A=3
|
c64scr.print("err! ")
|
||||||
|
c64scr.print(" byte ")
|
||||||
|
c64scr.print_b(value)
|
||||||
|
c64.CHROUT(',')
|
||||||
|
c64scr.print_b(expected)
|
||||||
|
c64.CHROUT('\n')
|
||||||
|
}
|
||||||
|
|
||||||
|
sub check_uw(uword value, uword expected) {
|
||||||
|
if value==expected
|
||||||
|
c64scr.print(" ok ")
|
||||||
|
else
|
||||||
|
c64scr.print("err! ")
|
||||||
|
c64scr.print(" uword ")
|
||||||
|
c64scr.print_uw(value)
|
||||||
|
c64.CHROUT(',')
|
||||||
|
c64scr.print_uw(expected)
|
||||||
|
c64.CHROUT('\n')
|
||||||
|
}
|
||||||
|
|
||||||
|
sub check_w(word value, word expected) {
|
||||||
|
if value==expected
|
||||||
|
c64scr.print(" ok ")
|
||||||
|
else
|
||||||
|
c64scr.print("err! ")
|
||||||
|
c64scr.print(" word ")
|
||||||
|
c64scr.print_w(value)
|
||||||
|
c64.CHROUT(',')
|
||||||
|
c64scr.print_w(expected)
|
||||||
|
c64.CHROUT('\n')
|
||||||
|
}
|
||||||
|
|
||||||
|
sub check_fl(float value, float expected) {
|
||||||
|
if value==expected
|
||||||
|
c64scr.print(" ok ")
|
||||||
|
else
|
||||||
|
c64scr.print("err! ")
|
||||||
|
c64scr.print(" float ")
|
||||||
|
c64flt.print_f(value)
|
||||||
|
c64.CHROUT(',')
|
||||||
|
c64flt.print_f(expected)
|
||||||
|
c64.CHROUT('\n')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user