Re: BeamRacer is coming… request for comments

From: silverdr_at_wfmh.org.pl
Date: Sat, 30 May 2020 14:22:23 +0200
Message-Id: <B5E29736-7419-408D-8EFD-B31C123C3713_at_wfmh.org.pl>
> On 2020-05-29, at 20:45, Rainer Buchty <rainer_at_buchty.net> wrote:
> 
> 
> But regarding that sprite multiplexer: For this, I guess you have to constantly update the VASYL microcode.

It's been designed from the start to make it relatively easy. First of all CPU still has all the same information about beam position as before so it can be precisely timed to "POKE" displaylist arguments in the most appropriate moments. But in many cases even this is not required and the display list characteristics can be crash'n jitter free modified even from within a BASIC code/loop. Last but definitely not least (!) VASYL can actually reprogram itself when programmed to do so ;-) This is a more advanced technique, but allows CPU to stop babysitting dynamically changing visual effects completely.

> How is this synchronized? Can I rewrite the running program or do I need to bankswitch in such cases in order to avoid ill effects (like e.g. an END not reached or messing around with WAIT statements)?

Of course you have be careful in order not to put VASYL into lalaland, but that's about the same as with CPU. There are in fact several techniques readily available to make those things easily done.

- multiple display lists, switchable after the frame is completed
- multiple memory banks
- relative instructions (DELAYV for example) rather than absolute where applicable
- and more (we still keep discovering new ways VASYL can be programmed - a rewarding adventure)

-- 
SD! 
Received on 2020-05-30 15:00:02

Archive generated by hypermail 2.3.0.