mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-06 06:30:36 +00:00
67 lines
2.0 KiB
Plaintext
67 lines
2.0 KiB
Plaintext
Re-implementation of the Print Shop "Thinking / Printing" animated banner.
|
|
|
|
Was struggling to get this to fit in 141 bytes for the Apple II Basic Bot.
|
|
Managed in the end to get a version that had animated bars instead of boxes.
|
|
|
|
|
|
****************
|
|
"Proper" Version
|
|
****************
|
|
|
|
See the thinking_flip.s / THINKING_FLIP code.
|
|
|
|
This draws offscreen. First the boxes, cascading inward,
|
|
(using direct RAM writes to draw the boxes).
|
|
A separate loop then overwrites with the bitmap.
|
|
Page flipping is used, so it alternates PAGE1/PAGE2.
|
|
|
|
The code is callable as a function so you can add hooks into
|
|
it from existing code as a progress indicator.
|
|
|
|
Downsides: lots of over-writing (speed), also you need to
|
|
have the 1k of RAM at $800 free for PAGE2 use.
|
|
|
|
Total size approaches 256 bytes
|
|
|
|
**************
|
|
Other attempts
|
|
**************
|
|
|
|
Various other attempts tried:
|
|
|
|
+ Drawing the boxes using Applesoft/Monitor ROM routines for a box
|
|
(4 sides), then drawing the bitmap on top.
|
|
This is too slow and makes flicker, also the code is large.
|
|
(some preliminary attempt to this is in THINKING_ATTEMPT4)
|
|
|
|
+ Drawing the boxes using HLINE instead of direct mem writes.
|
|
Slower, so very noticable that you're drawing things.
|
|
Still couldn't get below 153 bytes.
|
|
See thinking_slow.s / THINKING_SLOW
|
|
|
|
+ Using box drawing code from my various box-drawing demos.
|
|
This ends up being too large
|
|
|
|
+ RLE encoding the image. Too big
|
|
|
|
+ Looking for the color progression in ROM (Didn't have to be exact,
|
|
just low bytes the same). Sadly not there
|
|
|
|
+ Drawing the boxes/text offscreen and basically do a palette-shifting
|
|
type thing. This is possible (though tricky as there are 10
|
|
boxes but only 8 colors so it's not a straight up palette shift).
|
|
This has the same limitations that page-flipping does in that
|
|
you need an offscreen area.
|
|
See t3.s / T3 for implementation. Still large (192 bytes)
|
|
|
|
+ BOT version
|
|
Fits in 141 bytes.
|
|
|
|
See thinking_bot.s THINKING_BOT
|
|
Only draws lines that rotate, not boxes.
|
|
Draws bitmap at same time as drawing lines, meaning there is no
|
|
overdraw so no flicker.
|
|
|
|
|
|
|