|Asm and BASIC Fun: RiscAri|
|Page last updated on Jan 18th of 2021.|
|Atari Programs on RISC OS:|
This project is to create a compatibility layer for porting Atari GEM|
programs to RISC OS, by providing a TOS+GEM API in RISC OS.
As it grows it will add support for emulating the 680x0 CPU to run Atari GEM programs natively without porting.
This has become my primary RISC OS project. There is an amazing amount of software out there for the 68K Atari computers that would be a huge benifit to have on RISC OS, so having the ability to run that software is a big push for me. Also this will make writing programs for the two different targets at the same time a lot easier in many cases, as the Atari version recompiled to ARM native will get it going until ported to the RISC OS API later.
It will still take a little while before it gets far enough to be useful. Once it does downloads will begin to apear.
This is a project to provide a few modules that provide the API of Atari TOS on RISC OS. Once it is at a point that porting software to run on it can be done without any modification to the software being ported, then will be the time to add in a 680x0 emulation layer, for running 68K native GEM and some TOS applicaitons.
This relies on the software being well behaved. In time it is likely that some of the HW will be simulated to support things where the OS falls short (like sound DMA, and Yamaha sound). Though for the most part if it access the Atari HW directly do not expect it to ever run in this environment.
The components of this system are RISC OS modules, these are to be:
This is a work in progress, will be uploading early pre-release versions for people to look at. And it is extremely early in development at present, with very little that actually works. Downloads will start apearing when the system is able to run at least one GEM program correctly. Also likely to give it a better IconSprite by then :) .
Should also note that I am taking this opertunity to have a bit of fun. While much will be in assembly (as is logical), some will be in C, some in PASCAL, and a bit in Compiled BASIC V for the fun of it. It is also of note that each of the languages has its strong points, and it will be to that advantage that the language for each part is selected, including the use of Compiled BASIC V. The Pascal will be slow comming, as there will be in large part a dependant on the progress of a Pascal compiler evolving out of a PL/0 compiler.
Note that at the same time as working on this system I am working on a similar system for running on Atari computers and allowing the use of RISC OS programs. I am attempting to keep both projects in sync as far as level of completeness at any given time. Though the RISC OS on Atari layer will only emulate older CPU's, as the 68K ISA is not quite as good for emulating ARM as ARM is for emulating 68K.