X68000 IOCS & DOS documentation project.

Started by FedericoTech, September 11, 2023, 04:19:37 AM

Previous topic - Next topic

FedericoTech

Hi everyone.

I'm fairly new with the X68000. I must say that I haven't even seen one for real. Only in the Internet and through emulators.

With some documentation I found here an there I managed to do some programs and I thought that the best services I can do for the community is to document the library in a way that anyone can understand because the info that is available is scarce and in Japanese.

This is a great endeavour. I have spent hundreds of hours researching the machine and doing small examples. You can find them in my github https://github.com/FedericoTech/X68KTutorials

Any help is welcome.

kamiboy

#1
Cheers, you are doing gods work. These kinds of endeavors come into being and vanish off of the internet with slow regularity. A github is a good idea for posterity.

Had a quick look at the repository, and that is some useful stuff, especially the sound and music examples, I hope to make use of them some time.

I would say some crucial things that are missing, or that perhaps I couldn't quickly locate at s cursory glance, is stuff to do with the crt raster routines, which is crucial for development of game engine loops, and examples on how to use DMA memory transfers.

FedericoTech

#2
Hi Kamiboy,

DMA doesn't have its own sample yet but it is in one called Sonic.

In that example I load the tiles of several characters, set the sprites and update the tiles with the three DMA modes (instead of rotating the tiles in the sprite, just because) and I use the vsync_disp to keep the count of frames.

I have another call Raster where I animate the Sonic sprite and I use the vsync_disp raster to draw it twice reusing the sprites in the same frame.

In RasterIm I load two full screen 8bit-deth images and I use the crtcras and vsync_disp rasters to update the scroll and the palette so that I can simulate the Sonic 2's slit screen.

FPCube is a 3d cube savescreen where I do fixed point arithmetic to calculate the vertices.

Backgrouds is not very appealing yet but demonstrates the use of "text" backgrounds.

RayCast. It's a Doom-like labyrinth. quite slow because it still uses floating point. I'm working on the fixed pint version.

Tetris68 is... Tetris. It doesn't use sprites nor graphic planes but only backgrounds.

I'm currently investigating Resident programs and multiprocessing. I managed to do that but I'm just looking for a clean way to exit the program without having to restart the computer xD.




FedericoTech

Hi,

I have been working in a demo on how to create a program that makes use of multi processing.
I have been battling with an issue for which the program would leave the session in an unstable state but not it's solved so soon I will publish a well documented demo.

kroustibat

Hello Frederico,

Amazing work !!! thanks for this. So wish i had enough time to dig into those examples....


FedericoTech


Edward


FedericoTech

#7
Hi there,

I've been researching how backgrounds work and I have been working on a script to convert assets into X68000 format so it makes easy to work with tiles.

Here is a taste:
 

You can find the source code of this demo at https://github.com/FedericoTech/X68KTutorials/tree/main/MarioKart
It's still in development though.

kamiboy

Jawsome, I had to make similar routines for my long abandoned game project for the X68000. A zip file of how far I got, which was far enough to have a sprite running around a custom level, is uploaded here somewhere long ago. I really should've uploaded it to github for posterity.

FedericoTech

#9
Here is another demo I did some time ago:



It's a playable Tetris.

you can find the source code and executable at https://github.com/FedericoTech/X68KTutorials/tree/main/Tetris68

FedericoTech

I wanted to share another demo:



It's a 3D cube that moves across the screen. I use the drawing planes and scroll to do double buffering so that you don't see how the image draws each frame.

you can find the source code and the executable at https://github.com/FedericoTech/X68KTutorials/tree/main/FPCube