Date : Sun, 17 Feb 2008 00:24:10 +0000
From : tom@... (Tom Seddon)
Subject: BBC FPGA Boots to BASIC... almost...
Mark McDougall wrote:
> Tom Walker wrote:
>
>> Speech inputs are active low also.
>
> Yup, found that out - thanks!
>
> I now see ">", at least until I hook up interrupts! I've hooked up the
> keyboard, but without the kbd int, I can't type...
>
>> As far as I was aware though, the vsync interrupt _did_ occur at the start of
>> vsync, rather than the end...
>
> Not according to the schematics...
>
> Regards,
>
I concur... The OS sets the PCR to have bit 0 clear, so the interrupt
occurs on negative edge of CA1. The 6845 sets CA1 high at start of vsync
and puts it low at the end, with position determined by 6845 R7
(specifies character row as I recall, the vsync starting on line 0 of
this row) and length of pulse according to upper nybble of 6845 R3.
Well, this is how model-b does it anyway, so I'm glad to hear the
schematics agree. And sure enough, it does seem to work ;)
Regarding the keyboard, though I've no experience of making FPGAs and
don't know whether this is even feasible -- if you make the 6502 check
if it's reached DEC5, and do OSRDCH processing if it's got there (i.e.,
spin and eat cycles until a keypress becomes available then put ASCII
value in A then do an RTS), this will at least let you type at the BASIC
prompt (and thus try out some other paged ROMs, and therefore find more
CPU bugs) without forcing you to get that stupid keyboard working first.
And finally one resource you may find handy is the fully-commented OS
ROM disassembly, if you haven't already seen it. After 5 seconds of
searching I couldn't find it on the interweb, so I put it on my web page:
http://www.tomseddon.plus.com/files/os.txt
The copy I have has a bit missing in the middle somewhere, but I only
found this annoying a couple of times (!).
Good luck with this project, sounds like an interesting one!
--Tom