Quote:
Originally Posted by deg
> That's really incredible. I'm interested how (and if) it works on a real hardware.
I seem to remember that programming TOS on Atari works as follows:
move.w #<parameter>, -(sp) ; push function parameter onto stack
move.w #<function number>, -(sp) ; the function you want to call
trap #21 ; call tos function
add.w #4, sp ; correct stack
the "trap" is like a user interrupt, on both the ST and Amiga you can set a handler for it something like eg move.l #handler, $80
and <function number> might be 1 for open file, 2 for close file, etc in which case a simple tos emulator would look like this:
void handler(int function_number, ...)
{
if (function_number == 1)
{
// put code for open file here
}
else if (function_number == 2)
{
// put code for close file here
}
}
etc
very cool project, with the only problem that most of the worthwhile ST applications would hit the hardware in some way and not be pure TOS/GEM. My guess is that the neochome paint program will not work, however perhaps the "Magic Shadow Archiver" for atari .msa disk images will work?
|
Correct about the TOS calls above however MSA won't work yet because there's no floppy support. What would be cool would be do get Emutos running as a process in Amiga OS in the same manner as shapeshifter.