Magyar fordítás később (Hungarian translation comming soon)
I was thinking today, how it would be possible to accelerate the Enterpriste like a GPU in a PC doing nowdays.
We have a slow speed Z80 with lack of integer multiplication/division and floating point math calculation. There are mathematical instructions built-in in the ROM, but the routines are very slow it takes more CPU cycle to execute.
Also there is no built-in sprite handling in the video processor (Nick).
Various demos from the recent years are already showed us, that the Enterprise would be capable to show a cutting edge pictures and/or sounds, the only problem that the calculations are too slow, because of the missing instruction set.
My idea would be a hardware, which uses 4+ free segments of the EP memory, and capable of receive memory mapped I/Os, and also memory blocks for manipulation.
Certain memory would be dedicated to matematical instructions, other ones for fast memory block operations.
Let's see some examples:
- Trigonometrical and floating point instructions
Z80 does not have any "higher" mathematical instuctions like multiplication, division, sin(x) cos(x) , matrix table calculation.. or just even 32bit instructions.
This instructions are mandatory for first person shooter games, like Total eclipse, Driller, Dark Side where a lot of coordination transformation is happening during movement.
Imagine that the Mandelbrot picture in is basic will be ready in hundred milliseconds.
Or a raytracing image rendering in seconds instead of 30 minutes (with turbo) see:
https://enterpriseforever.com/video/raytrace/- Fast memory block copy and manipulation (for sprites)
In the hw accelerator memory we can store big background pictures and multiple small pictures (sprites) with masks. And the Z80 is going to tell the movement of a small picture (sprites) and the animation phases, and the accelerator makes the actual frame. The only task for Z80 is to copy all or part of the picture into the video memory. For 2D or 3D games it could be handy.
- Data compresson acceleration
Nowdays we have many efficient working codecs from the PC world, so the pictures/sounds can be compressed very compact. We have not much memory for the Enterpise, so hi-deteiled interlaced pictures or trailing videos in game chapters could be played fast.
The Z80 could extract the compressed filed and copy to the video memory just-in-time.
The "Hardware Accelerator" could be a fast FPGA which execute all the instructions in 200MHz. So the Z80 gets the result after it's request immediately.
Probably there are much more things/instructions, which would be nice to have, unfortunately I have no more idea right now.