mirror of
https://github.com/KarolS/millfork.git
synced 2025-01-16 16:31:04 +00:00
62 lines
973 B
Plaintext
62 lines
973 B
Plaintext
|
pointer screen @ $84
|
||
|
byte i @ $80, n1 @ $81, n2 @ $82, t @ $83
|
||
|
array(byte) sorttable align(fast) = [for x,255,downto,1 [x]]
|
||
|
|
||
|
asm void pause() {
|
||
|
lda os_RTCLOK.b2
|
||
|
.rt_check:
|
||
|
cmp os_RTCLOK.b2
|
||
|
beq .rt_check
|
||
|
rts
|
||
|
}
|
||
|
|
||
|
// print in HEX
|
||
|
void printScore(byte val) {
|
||
|
array(byte) tmp[2]
|
||
|
byte iter
|
||
|
|
||
|
tmp[0] = val >> 4
|
||
|
tmp[1] = val & %00001111
|
||
|
for iter:tmp {
|
||
|
if tmp[iter] < 10 {
|
||
|
screen[0] = tmp[iter] + $10
|
||
|
} else {
|
||
|
screen[0] = tmp[iter] + $17
|
||
|
}
|
||
|
screen += 1
|
||
|
}
|
||
|
screen[0] = 0
|
||
|
screen += 1
|
||
|
}
|
||
|
|
||
|
void main(){
|
||
|
screen = os_SAVMSC
|
||
|
for i:sorttable {
|
||
|
printScore(sorttable[i])
|
||
|
}
|
||
|
|
||
|
pause()
|
||
|
os_RTCLOK.b2 = 0
|
||
|
|
||
|
for t,253,downto,0{
|
||
|
for i,0,to,253{
|
||
|
n1 = sorttable[i]
|
||
|
n2 = sorttable[i+1]
|
||
|
if n1>n2 {
|
||
|
sorttable[i] = n2
|
||
|
sorttable[i+1] = n1
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
t = os_RTCLOK.b2
|
||
|
|
||
|
screen = os_SAVMSC
|
||
|
for i:sorttable {
|
||
|
printScore(sorttable[i])
|
||
|
}
|
||
|
// print jiffies
|
||
|
printScore(t)
|
||
|
|
||
|
while true {}
|
||
|
}
|