Date : Tue, 06 Jan 2015 11:54:19 +0000
From : etljwk@... (John Kenyon)
Subject: Serial console active at power-on
On 05/01/2015 23:31, J.G.Harston wrote:
> John Kenyon wrote:
>> If all you want is something to enable serial and drop you at a BASIC
>> prompt, then I'd create a language ROM which configured the serial
>> port, and then did an OSCLI with "BASIC" to switch languages.
> Even better, create a *service* ROM that configures the serial port,
> then just allows the MOS to continue on to entering BASIC normally
> instead of bombing out of the startup sequence halfway through.
>
> .Service01
> TYA:PHA
> LDA #7:LDX #baud:JSR OSBYTE
> LDA #8:LDX #baud:JSR OSBYTE
> LDA #2:LDX #1:JSR OSBYTE
> LDA #3:LDX #1:JSR OSBYTE
> PLA:TAY
> LDX &F4
> LDA #1
> RTS
>
> Something to be careful about - if your remotely-controlled Beeb issues
> a VDU 14 you will have to somehow manually press the SHIFT key to get
> the display to scroll! It's worth putting an intercept on WRCHV to
> always disable VDU 14.
>
I'm with you on that one, but my concern was about the dodgy re-entry
qualities of the BBC OS.
Or put another way - if am the currently selected language I can call
any OS entry with impunity because I'm not executing any OS routines,
but if I am running a OS routine (which a service routine in a sideways
ROM is),
I can't be certain that I can legitimately make whatever OS calls I like
(basic OSBYTE calls would be OK, but trying to run a file system command
whilst handling an FSCV routine could end in tears.)
Regarding interception of WRCHV, I guess this could be set up from the
service entry of a language ROM.
(AFAIK the only BBC language ROM that doesn't officially have a service
entry is BASIC).
/John