[comp.sys.amiga.tech] Game Programming

clp@altos86.Altos.COM (Chuck L. Peterson) (09/08/89)

I am interested in writing a game on my Amiga 2000 which does
not run under AmigaDos and is booted directly from floppy.
There seem to a lot of games out there which currently do this.

What type of interface are they using for accessing
the floppy and the machine in general?

By bypassing AmigaDOS they have all the ROM Exec at their disposal;
but how exactly do they access it?

I'd also like to know if the ROM Exec is
the only stuff available at this point.

Thanks bunches,
Chuck L. Peterson
clp@altos.com

cmcmanis@sun.Eng.Sun.COM (Chuck McManis) (09/12/89)

In article <3531@altos86.Altos.COM> (Chuck L. Peterson) writes:
>I am interested in writing a game on my Amiga 2000 which does
>not run under AmigaDos and is booted directly from floppy.
>There seem to a lot of games out there which currently do this.

This is sort of a non-sequitor. What do you mean by "AmigaDOS" ? Do you
mean with workbench? How about a CLI? The reason I ask if because you can
still run "legally" without using any of these things. At boot time
the code that is in block 0 of the floppy is executed. Normally this
opens up dos.library and starts it's setup. However, if you know you
aren't going to use the DOS part of the OS then you can just open up
exec.library (it's base address is in location 4), then OpenDevice()
the floppy, read in your executable (you will probably want your
own version of LoadSeg which is easier than writing a new trackdisk.device)
and then start it off. Now you have complete control of the machine,
legal access to any function in ROM including the devices, and you
are paying no penalty for it in either execution speed or memory cost.

>What type of interface are they using for accessing
>the floppy and the machine in general?

You can use trackdisk.device

>By bypassing AmigaDOS they have all the ROM Exec at their disposal;
>but how exactly do they access it?

Just like you would if you had the full system up and running. You either
jsr	_SomeExecFunction(A6) in asm or call SomeExecFunction() in a high
level langauge.

>I'd also like to know if the ROM Exec is
>the only stuff available at this point.

After boot, and when your code gets loaded from floppy to be executed, all 
of the libraries and devices are available, you just need to call them and
go.

-- 
--Chuck McManis
uucp: {anywhere}!sun!cmcmanis   BIX: cmcmanis  ARPAnet: cmcmanis@sun.com
These opinions are my own and no one elses. But you knew that, didn't you.