home *** CD-ROM | disk | FTP | other *** search
- #
- # gemdos/xbios/bios interface on the atari
- #
- # ++jrb bammi@cadence.com
- #
-
- # camel book pp204
- sub enum {
- local($_) = @_;
- local(@specs) = split(/,/);
- local($val);
- for(@specs) {
- if(/=/) {
- $val = eval $_;
- } else {
- eval $_ . ' = ++$val';
- }
- }
- }
-
- # these must match the defines in atarist.c
-
- &enum(<<'EOL');
- $_trap_1_w=1, $_trap_1_ww, $_trap_1_wl, $_trap_1_wlw, $_trap_1_www,
- $_trap_1_wll, $_trap_1_wwll, $_trap_1_wlww, $_trap_1_wwlll, $_trap_13_w,
- $_trap_13_ww, $_trap_13_wl, $_trap_13_www, $_trap_13_wwl, $_trap_13_wwlwww,
- $_trap_14_w, $_trap_14_ww, $_trap_14_wl, $_trap_14_www, $_trap_14_wwl,
- $_trap_14_wwll, $_trap_14_wllw, $_trap_14_wlll, $_trap_14_wwwl,
- $_trap_14_wwwwl, $_trap_14_wllww, $_trap_14_wwwwwww, $_trap_14_wllwwwww,
- $_trap_14_wllwwwwlw, $_trap_14_wllwwwwwlw
- EOL
-
- sub Pterm0 {
- syscall($_trap_1_w, 0x00);
- }
- sub Cconin {
- syscall($_trap_1_w, 0x01);
- }
- sub Cconout {
- syscall($_trap_1_ww, 0x02, @_);
- }
- sub Cauxin {
- syscall($_trap_1_w, 0x03);
- }
- sub Cauxout {
- syscall($_trap_1_ww, 0x04, @_);
- }
- sub Cprnout {
- syscall($_trap_1_ww, 0x05, @_);
- }
- sub Crawio {
- syscall($_trap_1_ww, 0x06, @_);
- }
- sub Crawcin {
- syscall($_trap_1_w, 0x07);
- }
- sub Cnecin {
- syscall($_trap_1_w, 0x08);
- }
- sub Cconws {
- syscall($_trap_1_wl, 0x09, @_);
- }
- sub Cconrs {
- syscall($_trap_1_wl, 0x0A, @_);
- }
- sub Cconis {
- syscall($_trap_1_w, 0x0B);
- }
- sub Dsetdrv {
- syscall($_trap_1_ww, 0x0E, @_);
- }
- sub Cconos {
- syscall($_trap_1_w, 0x10);
- }
- sub Cprnos {
- syscall($_trap_1_w, 0x11);
- }
- sub Cauxis {
- syscall($_trap_1_w, 0x12);
- }
- sub Cauxos {
- syscall($_trap_1_w, 0x13);
- }
- sub Dgetdrv {
- syscall($_trap_1_w, 0x19);
- }
- sub Fsetdta {
- syscall($_trap_1_wl, 0x1A, @_);
- }
- sub Super {
- syscall($_trap_1_wl, 0x20, @_);
- }
- sub Tgetdate {
- syscall($_trap_1_w, 0x2A);
- }
- sub Tsetdate {
- syscall($_trap_1_ww, 0x2B, @_);
- }
- sub Tgettime {
- syscall($_trap_1_w, 0x2C);
- }
- sub Tsettime {
- syscall($_trap_1_ww, 0x2D, @_);
- }
- sub Fgetdta {
- syscall($_trap_1_w, 0x2F);
- }
- sub Sversion {
- syscall($_trap_1_w, 0x30);
- }
- sub Ptermres {
- syscall($_trap_1_wlw, 0x31, @_);
- }
- sub Dfree {
- syscall($_trap_1_wlw, 0x36, @_);
- }
- sub Dcreate {
- syscall($_trap_1_wl, 0x39, @_);
- }
- sub Ddelete {
- syscall($_trap_1_wl, 0x3A, @_);
- }
- sub Dsetpath {
- syscall($_trap_1_wl, 0x3B, @_);
- }
- sub Fcreate {
- syscall($_trap_1_wlw, 0x3C, @_);
- }
- sub Fopen {
- syscall($_trap_1_wlw, 0x3D, @_);
- }
- sub Fclose {
- syscall($_trap_1_ww, 0x3E, @_);
- }
- sub Fread {
- syscall($_trap_1_wwll, 0x3F, @_);
- }
- sub Fwrite {
- syscall($_trap_1_wwll, 0x40, @_);
- }
- sub Fdelete {
- syscall($_trap_1_wl, 0x41, @_);
- }
- sub Fseek {
- syscall($_trap_1_wlww, 0x42, @_);
- }
- sub Fattrib {
- syscall($_trap_1_wlww, 0x43, @_);
- }
- sub Fdup {
- syscall($_trap_1_ww, 0x45, @_);
- }
- sub Fforce {
- syscall($_trap_1_www, 0x46, @_);
- }
- sub Dgetpath {
- syscall($_trap_1_wlw, 0x47, @_);
- }
- sub Malloc {
- syscall($_trap_1_wl, 0x48, @_);
- }
- sub Mfree {
- syscall($_trap_1_wl, 0x49, @_);
- }
- sub Mshrink {
- syscall($_trap_1_wwll, 0x4A, @_);
- }
- sub Pexec {
- syscall($_trap_1_wwlll, 0x4B, @_);
- }
- sub Pterm {
- syscall($_trap_1_ww, 0x4C, @_);
- }
- sub Fsfirst {
- syscall($_trap_1_wlw, 0x4E, @_);
- }
- sub Fsnext {
- syscall($_trap_1_w, 0x4F);
- }
- sub Frename {
- syscall($_trap_1_wwll, 0x56, @_);
- }
- sub Fdatime {
- syscall($_trap_1_wlww, 0x57, @_);
- }
- sub Getmpb {
- syscall($_trap_13_wl, 0x00, @_);
- }
- sub Bconstat {
- syscall($_trap_13_ww, 0x01, @_);
- }
- sub Bconin {
- syscall($_trap_13_ww, 0x02, @_);
- }
- sub Bconout {
- syscall($_trap_13_www, 0x03, @_);
- }
- sub Rwabs {
- syscall($_trap_13_wwlwww, 0x04, @_);
- }
- sub Setexc {
- syscall($_trap_13_wwl, 0x05, @_);
- }
- sub Tickcal {
- syscall($_trap_13_w, 0x06);
- }
- sub Getbpb {
- syscall($_trap_13_ww, 0x07, @_);
- }
- sub Bcostat {
- syscall($_trap_13_ww, 0x08, @_);
- }
- sub Mediach {
- syscall($_trap_13_ww, 0x09, @_);
- }
- sub Drvmap {
- syscall($_trap_13_w, 0x0A);
- }
- sub Kbshift {
- syscall($_trap_13_ww, 0x0B, @_);
- }
- sub Getshift {
- &Kbshift(-1);
- }
- sub Initmous {
- syscall($_trap_14_wwll, 0x00, @_);
- }
- sub Ssbrk {
- syscall($_trap_14_ww, 0x01, @_);
- }
- sub Physbase {
- syscall($_trap_14_w, 0x02);
- }
- sub Logbase {
- syscall($_trap_14_w, 0x03);
- }
- sub Getrez {
- syscall($_trap_14_w, 0x04);
- }
- sub Setscreen {
- syscall($_trap_14_wllw, 0x05, @_);
- }
- sub Setpallete {
- syscall($_trap_14_wl, 0x06, @_);
- }
- sub Setcolor {
- syscall($_trap_14_www, 0x07, @_);
- }
- sub Floprd {
- syscall($_trap_14_wllwwwww, 0x08, @_);
- }
- sub Flopwr {
- syscall($_trap_14_wllwwwww, 0x09, @_);
- }
- sub Flopfmt {
- syscall($_trap_14_wllwwwwwlw, 0x0A, @_);
- }
- sub Midiws {
- syscall($_trap_14_wwl, 0x0C, @_);
- }
- sub Mfpint {
- syscall($_trap_14_wwl, 0x0D, @_);
- }
- sub Iorec {
- syscall($_trap_14_ww, 0x0E, @_);
- }
- sub Rsconf {
- syscall($_trap_14_wwwwwww, 0x0F, @_);
- }
- sub Keytbl {
- syscall($_trap_14_wlll, 0x10, @_);
- }
- sub Random {
- syscall($_trap_14_w, 0x11);
- }
- sub Protobt {
- syscall($_trap_14_wllww, 0x12, @_);
- }
- sub Flopver {
- syscall($_trap_14_wllwwwww, 0x13, @_);
- }
- sub Scrdmp {
- syscall($_trap_14_w, 0x14);
- }
- sub Cursconf {
- syscall($_trap_14_www, 0x15, @_);
- }
- sub Settime {
- syscall($_trap_14_wl, 0x16, @_);
- }
- sub Gettime {
- syscall($_trap_14_w, 0x17);
- }
- sub Bioskeys {
- syscall($_trap_14_w, 0x18);
- }
- sub Ikbdws {
- syscall($_trap_14_wwl, 0x19, @_);
- }
- sub Jdisint {
- syscall($_trap_14_ww, 0x1A, @_);
- }
- sub Jenabint {
- syscall($_trap_14_ww, 0x1B, @_);
- }
- sub Giaccess {
- syscall($_trap_14_www, 0x1C, @_);
- }
- sub Offgibit {
- syscall($_trap_14_ww, 0x1D, @_);
- }
- sub Ongibit {
- syscall($_trap_14_ww, 0x1E, @_);
- }
- sub Xbtimer {
- syscall($_trap_14_wwwwl, 0x1E, @_);
- }
- sub Dosound {
- syscall($_trap_14_wl, 0x20, @_);
- }
- sub Setprt {
- syscall($_trap_14_ww, 0x21, @_);
- }
- sub Kbdvbase {
- syscall($_trap_14_w, 0x22);
- }
- sub Kbrate {
- syscall($_trap_14_www, 0x23, @_);
- }
- sub Prtblk {
- syscall($_trap_14_wl, 0x24, @_);
- }
- sub Vsync {
- syscall($_trap_14_w, 0x25);
- }
- sub Supexec {
- syscall($_trap_14_wl, 0x26, @_);
- }
- sub Blitmode {
- syscall($_trap_14_ww, 0x40, @_);
- }
- sub Mxalloc {
- syscall($_trap_1_wlw, 0x44, @_);
- }
- sub Maddalt {
- syscall($_trap_1_wll, 0x14, @_);
- }
- sub Setpalette {
- syscall($_trap_14_wl, 0x06, @_);
- }
- sub EsetShift {
- syscall($_trap_14_ww, 80, @_);
- }
- sub EgetShift {
- syscall($_trap_14_w, 81);
- }
- sub EsetBank {
- syscall($_trap_14_ww, 82, @_);
- }
- sub EsetColor {
- syscall($_trap_14_www, 83, @_);
- }
- sub EsetPalette {
- syscall($_trap_14_wwwl, 84, @_);
- }
- sub EgetPalette {
- syscall($_trap_14_wwwl, 85, @_);
- }
- sub EsetGray {
- syscall($_trap_14_ww, 86, @_);
- }
- sub EsetSmear {
- syscall($_trap_14_ww, 87, @_);
- }
- sub Bconmap {
- syscall($_trap_14_ww, 0x2b, @_);
- }
- sub Bconctl {
- syscall($_trap_14_wwl, 0x2d, @_);
- }
-
- 1;
-