leepivonka wrote:
I think V_INPT should not wait for a char, just return the C flag to indicate Acc contains a char.
For example:
Code:
V_INPT
LDA VIAORB ; LOAD THE VALUE OF VIA PORT B. KBD DATA READY LINE IS HERE
AND #@00001000 (Is this the correct mask for kbd ready?) ; IS DATA READY LOW?
CLC
BNE V_INPT9
LDA VI2ORA ; LOAD ACC WITH ASCII DATA FROM KEYBOARD
SEC
V_INPT9
RTS ; GO BACK TO WHERE SUB WAS CALLED FROM
I think your code is looking quite good for 2 months!
Thanks so much!
This code works as intended, but it is lagging a little bit as expected.
At any rate, it is more of the same. If I do a "PRINT" without anything after, it prints a CR, just like you'd expect. Is when I give it a value to print, or a string, etc. Then it freezes and I cannot control-C out of it. It doesn't like to process values or strings, it seems.
I run BASIC from my monitor, but I don't think my monitor would affect it. BASIC should just overwrite any of MY zero page usage from the monitor, right?
I don't know if it has to do with the way the buffers and everything are set up in ram. It needed me to set RAM base and buffer location before assembling. Perhaps I am setting these wrong?
I am only using a 16x2 LCD, so I know that I will be printing some data in a region of the screen controller that I can't see. I am hitting enter until the screen loops back around before confirming that BASIC is in act freezing. I ordered a 40x2 LCD which should be here soon. That will allow me to see everything, though I know BASIC is crashing.
I will use that LCD code, thank you Garth. That will rule out the LCD as any source of an issue. Thanks!