68kMLA Classic Interface

This is a version of the 68kMLA forums for viewing on your favorite old mac. Visitors on modern platforms may prefer the main site.

Click here to select a new forum.
Another Mac Classic II app
Posted by: AbelVincze on 2019-10-28 18:17:58
Hi All!

Another stuff i just finished... Need some polishing, but i was so excited to got it working after 1 week of assembly coding (only spare time during the week)

Please enjoy!

Sources: https://github.com/AbelVincze/Cattail-Scroller-Mac68k





Posted by: Crutch on 2019-10-28 20:48:21
Gorgeous! How did you display the characters at arbitrary angles?

Posted by: AbelVincze on 2019-10-29 02:29:56
Gorgeous! How did you display the characters at arbitrary angles?
Thanks! They are precalculated at the begining (this is why the progressbar)

Posted by: cheesestraws on 2019-10-29 02:57:32
That's really, really nice.

Posted by: Crutch on 2019-10-29 03:57:09
I sort of figured. Cool. So you wrote assembly code to rotate each character by a lot of different angles, saved the rotated characters in an offscreen bitmap, then blit them to the screen as needed?

Posted by: AbelVincze on 2019-10-29 06:51:36
I sort of figured. Cool. So you wrote assembly code to rotate each character by a lot of different angles, saved the rotated characters in an offscreen bitmap, then blit them to the screen as needed?
Yes, kind of.

Every drawing on the screen is done by direct accessing the VIdeo RAM, and i use the less possible system calls, especially in case of accessing the screen, as it would be too slow. I will translate the source file comments, so it will be easier to explore it in case of interest.

Posted by: Crutch on 2019-10-30 05:02:12
Yep makes sense. Would be fun to review your source. Very cool demo!

Posted by: AbelVincze on 2019-10-30 07:37:52
Yep makes sense. Would be fun to review your source. Very cool demo!
Thank you!

I sort of figured. Cool. So you wrote assembly code to rotate each character by a lot of different angles, saved the rotated characters in an offscreen bitmap, then blit them to the screen as needed?
It's a bit more complicated because of the timing: i have to clear the previous frame, and redraw the new one.

I have two set of buffered (rotated and shifted graphic) characters, and they are ordered in ascending Y position.

This is how the tasks are done in a single frame:

- waiting for VBL

- Drawing (new buffer's content)/ereasing (old buffer's content) from top to bottom order

- switching buffers

- calculating new coordinates

- rendering NEW buffer content

1