Brutkey

Matthew Garrett
@mjg59@nondeterministic.computer

Is there a diagram anywhere of exactly where the DMA cycles occur during horizontal scanout?


just Claire again and again
@sif@cathode.church

@mjg59@nondeterministic.computer https://markwrobel.dk/post/amiga-machine-code-letter4-dma-revisited/ maybe?

Matthew Garrett
@mjg59@nondeterministic.computer

@sif@cathode.church Hmm I'm going to have to spend a while parsing that picture because it doesn't quite fit my mental model and also I'm now terrified that I'm going to need to use the CPU and the copper simultaneously to achieve what I want (which is actually very funny)

just Claire again and again
@sif@cathode.church

@mjg59@nondeterministic.computer I never got into these depths when I was doing Amiga programming but that sounds kind of like some of the discussions around demo scene stuff was like

Matthew Garrett
@mjg59@nondeterministic.computer

@sif@cathode.church I want to change all 32 colour registers during an hblank which is a thing you just wouldn't do in any sensible world because you won't have enough CPU time to calculate all of that and also do anything useful, and I think copper can probably only get a relatively small number but I have infinite CPU and am only limited by DMA cycles so /maybe/ I can fit that all in during hblank but otherwise I can be cunning about timing and overwrite the copper list during scanout maybe?

just Claire again and again
@sif@cathode.church

@mjg59@nondeterministic.computer I am having notions around hold and modify which if it could work for your case (probably a bit of a mess in chroma) would mean half that number of palette entries need to be changed

Matthew Garrett
@mjg59@nondeterministic.computer

@sif@cathode.church I think HAM is probably not a great choice here, and realistically 64 colours per 320 pixel line is going to be good enough rather than having fringing

just Claire again and again
@sif@cathode.church

@mjg59@nondeterministic.computer it occurred to me mostly because everyone says they couldn’t use HAM for anything other than preprocessed images because the computing of the best palette for rendering per line was too high, but yeah you would never be free of the fringing effects.

Rob Isaac
@rmi@cloudisland.nz

@sif@cathode.church @mjg59@nondeterministic.computer Computing the best possible HAM palette per line in real-time still isn’t possible even on an (affordable) modern CPU, but with a good palette pre-calculation you don’t get visible fringing.