10 print chr$(147);chr$(5) 20 poke 53280,4: poke 53281,0 30 y=0 : for x = 1 to 35 40 poke 214,y : print : poke 211,x 50 print chr$(171);chr$(177);chr$(179); 60 next x : print : print
This is a program from a book 'Step by step programming: Commodore 64' - page 38
I can't understand why the characters are printed on the third line (index = 2) when y = 0 in the program, and there is a single print between the pokes before the characters are printed - which would move the cursor down a single line to line 2 (index 1). Can anyone explain why it behaves like this?
Just to clarify the Y position, here's another screenshot showing the cursor, and also with the print statement removed. So shouldn't that be now on line 1 (index = 0).
And here's a simpler program that I think hones in on the issue:
10 print chr$(147);chr$(5) 40 poke 211,0: poke 214,0 50 print chr$(171);chr$(177);chr$(179);
This program doesn't show anything, which is unexpected.
If I change this code to poke 214,1 (Y-ord) I get an expected output..
So this is correctly at <0,1>, but I can't use y = 0 here. Maybe this is related to the question. There is something off about all this.