Date : Sun, 24 Feb 2008 00:05:44 +0000
From : jgh@... (Jonathan Graham Harston)
Subject: BBC FPGA Boots to BASIC... almost...
Mark McDougall wrote:
> It gets as far as &BFEA, which appears to print an (error?) message (I've
> yet to check the BASIC disassembly). It calls &B50E, which appears to print
> each character in the message. Execution never reaches &BFF6 which is the
> end of the above-mentioned print message routine.
\ REPORT
\ ======
.LBFE4
JSR L9857:JSR LBC25 :\ Check end of statement, print newline, clear
COUNT
LDY #&01
.LBFEC
LDA (&FD),Y:BEQ LBFF6 :\ Get byte, exit if &00 terminator
JSR LB50E:INY:BNE LBFEC :\ Print character or token, loop for next
.LBFF6
JMP L8B9B :\ Jump to main execution loop
> BTW for some reason my MOS disassembly is missing &DF00-&E113, which of
> course is part of what I need... :(
I noticed that versions online had that gap, so recreated it in my
version at http://mdfs.net/Docs/Comp/BBC/OS1-20
> Anyway, if anyone has any more suggestions, I'd be glad to consider them.
> Otherwise I'm not sure what my options are at this point... :(
I wonder if there's runaway interupts and the stack is getting
full?
You could temporarily replace the VDU code with something like:
PHA:TAY:PHA:TXA:PHA
TSX:LDA &103,A
CMP #32:BCS P%+4:LDA #42
LDY #0:STA (&D8),Y
INC &D8:BNE P%+4:INC &D9
PLA:TAX:PLA:TAY:PLA:RTS
This just pokes the characters into the MODE 7 screen. You could
stick it at &C000 over the font, change &FFEE to JMP &C000. It
would show if the VDU code is causing the problem. You'd get
something like the following:
**BBC Computer 32K****BASIC****>hello***
*Mistake**>PRINT fred****No such variabl
e**>P."Hello"**Hello**>
--
J.G.Harston - jgh@... - mdfs.net/User/JGH
A Review of Sheffield City Council's Members' Allowances Scheme
See http://mdfs.net/payreform