Amiga blitter, copper, and sprite demo written in C and assembler for my Blitter video https://makertube.net/w/eV545ku522sRq8CTcxDuFZ
Go to file
2024-09-22 08:20:58 -04:00
images starting on the real thing 2024-05-27 14:58:13 -04:00
old starting on the real thing 2024-05-27 14:58:13 -04:00
system Move blitter commoon stuff to blitter header 2024-09-22 06:52:22 -04:00
.ccls starting on the real thing 2024-05-27 14:58:13 -04:00
.gitignore starting on the real thing 2024-05-27 14:58:13 -04:00
.rubocop.yml start on image converter 2024-06-03 12:46:32 -04:00
32x50 finish up video stuff 2024-09-22 08:12:37 -04:00
32x50_bun.c finish up video stuff 2024-09-22 08:12:37 -04:00
agnus.png it works 2024-06-10 22:04:40 -04:00
basics double buffering and better startup 2024-06-01 07:42:11 -04:00
basics.s double buffering and better startup 2024-06-01 07:42:11 -04:00
better_startup double buffering and better startup 2024-06-01 07:42:11 -04:00
better_startup.c double buffering and better startup 2024-06-01 07:42:11 -04:00
blitter_speed_test starting on the real thing 2024-05-27 14:58:13 -04:00
blitter_speed_test.c starting on the real thing 2024-05-27 14:58:13 -04:00
blitter_speed_test.q double buffering and better startup 2024-06-01 07:42:11 -04:00
blitter_test starting on the real thing 2024-05-27 14:58:13 -04:00
blitter_test.c starting on the real thing 2024-05-27 14:58:13 -04:00
bun_test buns can march 2024-06-02 14:37:37 -04:00
bun_test.c buns can march 2024-06-02 14:37:37 -04:00
bun.c More performance stuff 2024-09-22 07:32:13 -04:00
bun.h start on more precise topaz art replacement 2024-09-19 21:51:45 -04:00
copper-colors it works 2024-06-10 22:04:40 -04:00
image_converter.rb 50 fps! 2024-06-13 12:30:39 -04:00
images.s some text stuff, pending cleanup 2024-06-14 09:16:01 -04:00
keyboard_interrupt Keyboard handling, just get this up to 50fps 2024-09-22 06:31:08 -04:00
keyboard_interrupt.c Keyboard handling, just get this up to 50fps 2024-09-22 06:31:08 -04:00
main binary 2024-09-22 07:32:44 -04:00
main.c OK this is CPU bound, much precalculating required 2024-09-22 07:36:27 -04:00
marquee.svg starting on the real thing 2024-05-27 14:58:13 -04:00
mask-bitplane 50 fps! 2024-06-13 12:30:39 -04:00
NOTES.md buns can march 2024-06-02 14:37:37 -04:00
README.md how i'll make it fast eventually 2024-09-22 08:20:58 -04:00
screen.c More performance stuff 2024-09-22 07:32:13 -04:00
screen.h More performance stuff 2024-09-22 07:32:13 -04:00
smakefile finish up video stuff 2024-09-22 08:12:37 -04:00
sprite-copperlist 50 fps! 2024-06-13 12:30:39 -04:00
sprite-data 50 fps! 2024-06-13 12:30:39 -04:00
topaz2.png it works 2024-06-10 22:04:40 -04:00
topaz-bitplane 50 fps! 2024-06-13 12:30:39 -04:00
topaz-narrow.png 50 fps! 2024-06-13 12:30:39 -04:00
topaz.png start on image converter 2024-06-03 12:46:32 -04:00
types.h More code cleanups 2024-09-19 13:03:46 -04:00

Running

main

This will get 50FPS on an 020, and 25 or lower on an 68EC020 and below. There's a branch related to precaching even more to get the speed faster but I'm defering that until later.

The best way I can think of to make this ridiculously fast is for a script in Ruby or Python to calculate every blitter register for every frame of data for bun renders and clears, store that in a list of words, and rip through those lists in Assembler, shotgunning the values directly into the registers without the C code needing to track bun positions and bun clears. That's a project for another day.

Building

Vamos

You'll want Vamos and SAS/C on Vamos's path:

ruby ./image_converter.rb && touch images.s && vamos -- smake