Some monthes ago I shared the framework I have used to write Rebirth demo on github.
But I had not opened a topic about it on the forum yet
So demOS framework is available here https://github.com/gibs75/demOS
(it has been used used/developed for Rebirth https://www.youtube.com/watch?v=iNbVcFThTxY
This framework is designed to be reusable.
My latest changes are not yet published on github, anyway current version ever provides many things
- it provides a toolchain to produce disk images (generates images, FAT and some code) =>
you just have to send async requests to load data. According to your available memory, the system also
manages data preloading (then the corresponding load requests only copy the data in this case)
The imaging tool also provides some helpers to work with ARJ mode 4 files (use Mr Ni! routine to depack) without headers
and stores depacked size into file metadata. It also manages executable bootsector checksum...
Loading system can also manage the 2 floppy drives.
- it implements a "bi-threading" system to take advantage of the remaining time while waiting for the next vbl =>
you can switch to an async background routine, the next vbl interruption will switch back to the main thread
(which probably runs your vbl synched demo effects). This way you do not need to slice your background routines
(which is cool for background pre-computations...)
- a kind of "ring allocator" to manage dynamically memory allocations for your data in a demo context
- it is written in a mix of C (without any standard library) + ASM 68k =>
C startup has been rewriten, provided bootsector code allows to boot C program without TOS from a low address.
The idea is to be able to write "glue code" in C instead of doing everything in ASM in order to speed up the coding process...
- some bitmaps, colors, rasters helpers...
- some debug stuffs => fast print routine, display various systems states (loading, allocators, sndtrack...)
some basic emulation / compatibility layer to test some of your stuffs directly on PC (more to come about PC compatibility layer / emulation...)
- pcm streaming system (you can write some funny scores like this https://github.com/gibs75/demOS/blob/ma ... SNDTRACK.C
other strategies for sound are not yet comited on git but it is possible to replace it...
- Rebirth effects code => this part not designed to be directly reusable
but there are some routines here...
also it shows how the framework can be used...
A doxyfile (doxygen) is provided at the root of github depot (to extract some minimal documentation from the code)