Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!orchid!egisin From: egisin@orchid.UUCP Newsgroups: comp.sys.atari.st Subject: Gulam auto-boot Message-ID: <12032@orchid.waterloo.edu> Date: Sat, 5-Dec-87 13:00:56 EST Article-I.D.: orchid.12032 Posted: Sat Dec 5 13:00:56 1987 Date-Received: Thu, 10-Dec-87 02:04:59 EST Organization: U of Waterloo, Ontario Lines: 114 I offered this program a while ago, but only received a few requests so I replied to them by mail. Because the topic came up again, I'm posting it. Here is my program to initialize the VDI and Aline then execute \bin\gulam.prg. This program does NOT allow you to return to the desktop by exiting Gulam. I tried to fix this, but the ST crashes so horribly I can't get to the debugger. Command.uue contains a uuencoded Command.prg which should be put in the \auto folder (or in \command.prg if you set up the disk to boot that way). Gulam must be in \bin\gulam.prg. The self-contained source (does not need VDI library) is also included for Mark Johnson C. The vdi function needs to be translated for other C's. Eric Gisin, egisin@Waterloo.EDU, egisin@orchid.uucp === command.c === /* * Initialize VDI and run \bin\gulam.prg. By Eric Gisin, Oct 1987. * So you can run Gulam and VDI applications from command.prg or \auto\*.prg. * Does not allow AES applications to be run from Gulam or \auto. * (If anyone knows how to do that let me know ) */ #define MJC /* Mark Johnson C ONLY */ #ifdef MJC #include "\lib\osbind.h" #else #include #endif short control [12] = {1, 0, 0, 11, 0, 0, 0}; /* VDI/AES control block */ short intin [11] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2}; short ptsin [4]; short intout [47]; short ptsout [16]; short * params [6] = { /* VDI/AES parameter block */ control, intin, ptsin, intout, ptsout, 0L }; main(argc, argv, envp) char ** argv, * envp; { control[0] = 1; vdi(); /* v_opnwk(&h) */ return Pexec(0, "\\bin\\gulam.prg", "", envp); /* we have to close the screen to return to the desktop */ /* I couldn't get this to work, maybe it isn't function 2 */ control[0] = 2; vdi(); /* v_clswk(h) */ } #ifdef MJC vdi() { /* load address of vdi parameter block into a0 */ asm(lag params 0); /* lea params, A0 */ asm(tad 0 1); /* move.l A0, D1 */ asm(ldw 115 0); /* move.w $115, D0 */ asm(trp 2); /* trap 2 */ } #endif === command.uue === table !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ begin 644 command.prg M8!H =R (8@ "Q/("X !"/ /_ 03EY.=3 \ 1!^0 !@R/ P_P C& & !.| MN0 .!.7DYU7&)I;EQG=6QA;2YP| M_ ",#P 3/ /_$'Y %QB (0?D _^,CP ,/\ 0A@!@ ("[_YB! | M,#P "\'\ 0@, @ (\ !#&("X "#(\ (%(P="!+4#__" \ "U __ M| M0/_T("[__"! $!!* &< 08@+O_\($ 0$$H 9P (B N__P@0! 0,CP ($B | ML$%N .("[__%*N__Q@ /_4("[__"U __@@+O_\($ 0$$H 9P (B N__P@| M0! 0,CP ($B L$%O .("[__%*N__Q@ /_4("[__"! $!!* &< !(P/ | M(B[__%*N__P@01" ("[_^"! $! R/ \2("P068 !8@+O_X,CP 4C!T($M| M0/_T8 6" N__@@0! 0,CP /DB L$%F 6("[_^#(\ %(P="!+4#_\& | M # P.0 #_PR/ RL$%L @("[_^$'Y /_C(Y /_%)Y /_,/\ 0A| M@!@ 8 #^\" \ $'Y /_C(Y /_,/\ 0A@!@ ,#P #U _^XP+O_N| M,CP !K!!; 7F XP+O_N4F[_[F _^0P/ 0?D !#*,B[_[L/\! 9!| M\!@ $( P/ 0?D !#*,B[_[L/\! 9!\!@ ,4 !$'Y 0RC(N_^[#_ 0&| M0? 8 #% )@ /^J0?D !#*,#P ,'\! 9!\ @ ( @CP *.XP/ (CD | M "CN($$10 !0?D !#*,#P <'\! 9!\ @ ( @CP */(P/ !(CD "CR| M($$10 !0?D !#*,#P L'\! 9!\ @ ( @CP */8P/ %(CD "CV($$1| M0 !,#P R(Y H]B!!$( B.0 */(@01" (CD "CN($$0@" N__1*@&< | M %PP/ /P @+O_T+P P/ ]/P!.0=[\ @]0/_N(CD "CN($$10 !,#P | M 2(Y H[B!!$( P+O_N,CP +!!; &# N_^X_ " N__0O $ZY %RM[\| M 8@+O_P2H!G #2("[_\"! $! R/ ^2("P06< "XP/ /P @+O_P+P P| M/ \/P!.0=[\ @]0/_N(CD "CR($$10 !8 8# \ $_ %*N__ @+O_P| M+P P/ ]/P!.0=[\ @]0/_N(CD "CR($$10 !,"[_[C(\ "P06T "8P| M/ "/P P+O_N/P @/ O # \ $(_ $Y!WOP "CU _^XP/ "(CD "CR| M($$0@# N_^XR/ L$%L 8,"[_[C\ ("[_\"\ 3KD 7*WOP !B Y 0| MQB\ 0?D _^( @O # Y /_#\ 3KD !>WOP "CU _^X@+O_T2H!G 4| M(#D "CN+P!.N0 !G[>_ $("[_\$J 9P %" Y H\B\ 3KD 9^WOP | M!# N_^X_ $ZY &9-[\ ).7DYU>6, $Y6 !!^0 !AH@""\ 3KD 8N| MWOP !" N @O $ZY &+M[\ 1!^0 !BH@""\ 3KD 8NWOP !# N P_| M $ZY &9-[\ ).7DYU8V%N)W0@_ $8 #_U$Y>3G5.| M5@ ,"X "#\ ,#P 3#\ 3D'>_ $3EY.=4Y6 @+@ ((CP L(%G !<| M("X ""! $! R/ "2("P068 !(@+@ (+P!.N0 !O#>_ $("X ""! $"@ | M 4H 9P '" N @@0! H %(@#\ ,#P /C\ 3D'>_ $,#P "(N @@01" | M3EY.=4Y6__X@+@ (($ P* ",CP +!!;P /" N @@0$'H 8@""\ ("X | M""! ,"@ DC +P @+@ (($ 0* !2( _ # \ $ _ $Y!WOP ##U __XP/ | M(BX ""!!,4 C N__XR/ L$%N *,#S__V 8P+O_^3EY.=4Y>3G4 | M (!@8R! 0$!!(2# HD$B".#@8() $&% 8&& 8X&!8:% H,% H,% H0"@HP| 7$"1$,$(D"@@*"!@(% @0%@H0"@H0H &| | end sum 36253