<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
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
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>