English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   Coders. Tutorials (https://eab.abime.net/forumdisplay.php?f=73)
-   -   Blitter-driven tile map (https://eab.abime.net/showthread.php?t=80223)

Leffmann 05 November 2015 20:43

Copper-driven tile map
 
1 Attachment(s)
Here's a quick example of the technique discussed here:
http://eab.abime.net/showthread.php?t=62682&page=9

This is the closest you can get to a character generator on the Amiga. The Copper program drives the Blitter to do all conversion and drawing of data. Once it's running it's fully automatic, and the user only needs to poke a single byte to update a full tile on the screen.

Lonewolf10 05 November 2015 22:42

Thanks for sharing :)

ReadOnlyCat 06 November 2015 04:54

Quote:

Originally Posted by Leffmann (Post 1049346)
Here's a quick example of the technique discussed here:
http://eab.abime.net/showthread.php?t=62682&page=9

This is the closest you can get to a character generator on the Amiga. The Copper program drives the Blitter to do all conversion and drawing of data. Once it's running it's fully automatic, and the user only needs to poke a single byte to update a full tile on the screen.

Wow, thanks for sharing! You should put this on Aminet.

I haven't had time to look at it yet (but will definitely this week end) but I guess the setup code is assembly?
Also, I wonder how feasible it would be to make this OS compatible? After all, this is "just" a big copperlist which graphics.library should be able to merge just fine, so with a little bit of tinkering the OS could maybe be extended into offering text-mode screens. ;)

Hum... on second thought that might be tricky since the OS will want to use the blitter at times but I seem to recall that graphics.library allows programs to monopolize it.
It is such a shame I have so many others things to do. ;)

Leffmann 08 November 2015 15:44

The example here claims the display and the Blitter, but leaves the OS and other programs running in the background. The Copper program needs to modify itself every frame for this to work, and you need full ownership of the Blitter, so I'm not sure you can incorporate this into a regular dragable Intuition screen.

I just posted it here since you guys had a discussion on this technique and I had a working example, it's not really worth using since there are more efficient ways of drawing tile graphics.

ReadOnlyCat 09 November 2015 02:48

You're right obviously but the idea of having a fully hardware-based tile mode supported by the OS really sounds really nice to my hears. ;)

I just looked at the code and it is really a nice piece of assembly, short, clear and to the point. I really like the fact that the copper prepares its blit-list entirely autonomously and that there really is no extra fat anywhere.
It would be a really good example to use in a "copper and blitter" course. ;)

Also, I like your
setsystem.s
file, impressively meticulous and exhaustive! Is it available under a particular license?

Leffmann 11 November 2015 17:17

setsystem.s is in the public domain, if you'd like to use it.


All times are GMT +2. The time now is 13:55.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.07408 seconds with 11 queries