Date : Mon, 02 Jul 2018 20:59:35 +0100
From : robert@... (Rob)
Subject: Announce: Brandy Basic - with teletext?!
If you can emulate an entire BBC Micro in *javascript* within a browser
window, then I wouldn't expect a compiled native application to have any
problems at all.
FWIW, teletext graphics, and the way the various control codes interact,
can be quite tricky to get right. Hold Graphics is the one that trips a lot
of people up, as it can show up mistakes in the coding of other control
codes (some take effect on the cell with the code, some only on the cell
after!) And then you have to decide if you are implementing a "proper"
viewdata/teletext display, where a double height code maps the line onto
the line below, and ignores (but still remembers!) whatever is stored in
memory for the second line, or a BBC Micro mode 7 where it uses that second
line and can therefore produce funky effects. It is very satisfying when
you get it all right!
Even on a Beeb it's not that easy: Back in the 80s, I was contacted to
write a viewdata terminal emulator for the Beeb. It was actually quite hard
to get double height working "properly" using the Beeb's hardware. I.e.
What happens if you overwrite the double height control code on the first
line? All the terminal emulators I had tested got it wrong, as they had
already discarded the second line (in order to cater for the Beeb's
hardware, which needs both to be the same) and which should now be visible,
and is allowed to contain something completely different to the first! My
approach was to write the data into a separate buffer, and copy into screen
memory on the vertical sync timer. That way I could deal with double
height, and Reveal (Conceal being another code that the Beeb obeys, but
then has no way of revealing the hidden characters.)
Rob.
--
Sent from a mobile device. Please excuse brevity or spoiling mistooks.
On Mon, 2 Jul 2018, 19:38 Pete Turnbull, <pete@... > wrote:
> On 02/07/2018 15:59, Michael McConnell wrote:
> > I guess, with the way the screen is currently done (including the other
> > modes) that it would be computationally far to expensive to scan the
> > screen for what should be flashing pixels. For Mode 7 at the very least
> > to get a 100% true emulation it would need to maintain a 1000 byte
> > screen memory buffer (somewhat akin to the BBC Micro screen memory at
> > &7C00) and re-render the entire screen periodically
>
> Hmm. Sometime in the late 1990s I wrote a Viewdata client for Unix (or
> more specifically, for IRIX on an SGI Indy running at 180MHz). I needed
> it for HOBS, the Bank of Scotland online banking system, which I had
> previously used on a Beeb and then an A440. I had graphics, flash,
> double height and separate/contiguous etc working properly then, so I
> find it hard to believe it can't be done two decades later on 20x faster
> processors, though I guess it might depend on what it's written on top
> of. I've forgotten exactly how I did it but AFAIR I did use a double
> buffer.
>
> --
> Pete
> Pete Turnbull
>
> _______________________________________________
> bbc-micro mailing list
> bbc-micro@...
> http://lists.cloud9.co.uk/mailman/listinfo/bbc-micro
>
>