rouaix@inria.UUCP (Francois Rouaix) (01/27/88)
By now, thanks to SCA ;-), you all know that we have some free space in the boot-blocks of DOS-bootable disks to write a small piece of code. How about launching a boot-block contest ? I propose some criterions : usefulness, grpahics, sound, fun ... Of course, boot process should continue properly after your code has terminated, and assembly source of the code should be provided. PS: does anyone know how to get the ViewPort adress of the "Workbench hand". It seems that the strap code does an AllocMem for the total amount of needed structures, and stores the pointers in a local stack (indexed by A5). and then proceeds to initializations (InitRastPort, ...), before actually drawing the picture.
amiguy@pnet01.cts.com (Sean Wolfe) (01/29/88)
rouaix@inria.UUCP (Francois Rouaix) writes: > >By now, thanks to SCA ;-), you all know that we have some free space in >the boot-blocks of DOS-bootable disks to write a small piece of code. >How about launching a boot-block contest ? >I propose some criterions : usefulness, grpahics, sound, fun ... >Of course, boot process should continue properly after your code has >terminated, and assembly source of the code should be provided. > You can't be serious, can you? Are you suggesting that everyone write a 'virus' ?? Sean Wolfe UUCP: {cbosgd, hplabs!hp-sdd, sdcsvax, nosc}!crash!pnet01!amiguy ARPA: crash!pnet01!amiguy@nosc.mil INET: amiguy@pnet01.CTS.COM
haitex@pnet01.cts.com (Wade Bickel) (01/29/88)
amiguy@pnet01.cts.com (Sean Wolfe) writes: >rouaix@inria.UUCP (Francois Rouaix) writes: >> >>By now, thanks to SCA ;-), you all know that we have some free space in >>the boot-blocks of DOS-bootable disks to write a small piece of code. >>How about launching a boot-block contest ? >>I propose some criterions : usefulness, grpahics, sound, fun ... >>Of course, boot process should continue properly after your code has >>terminated, and assembly source of the code should be provided. >> >You can't be serious, can you? Are you suggesting that everyone write a > 'virus' ?? On the contrary. If the bootblock is occupied then there would be no room for a virus. Code in the bootblock is not a virus unless it propogates itself. As long as the code does not propogate itself and has no harmful side-effects (how will we confirm this???) and includes the source then what is the problem? Wade. UUCP: {cbosgd, hplabs!hp-sdd, sdcsvax, nosc}!crash!pnet01!haitex ARPA: crash!pnet01!haitex@nosc.mil INET: haitex@pnet01.CTS.COM
grwalter@watcgl.waterloo.edu (Fred Walter) (01/31/88)
In article <2442@crash.cts.com> haitex@pnet01.cts.com (Wade Bickel) writes: > On the contrary. If the bootblock is occupied then there would be >no room for a virus. Code in the bootblock is not a virus unless it >propogates itself. As long as the code does not propogate itself and has >no harmful side-effects (how will we confirm this???) and includes the source >then what is the problem? The problem is that there may be people out there who would write virus's if they could, but they currently don't know enough. Giving them source to routines that patch into the bootblock would be like handing a flamethrower to an arsonist - not very bright. (Just look at the disk-wiping SCA virus mutantions; they didn't come out of thin air; somebody took the working example and made it deadly). Concerning occupied bootblocks with no room for a virus ... commercial software has occupied bootblocks; the virus just replaces the bootblock with its own. Le voila ! Room for a virus. fred -- CSNet: grwalter@watcgl.waterloo.edu UUCP: {ihnp4,decvax,allegra,utzoo}!watmath!watcgl!grwalter CDNnet: grwalter@watcgl.waterloo.cdn ARPA: grwalter%watcgl.waterloo.edu@csnet-relay.arpa
kb@dasys1.UUCP (Stan Ziel) (01/31/88)
This boot-block non-virus talk got me thinking about an idea I had for a phoney, non-propigating virus. You store an IFF sound of coughs and/or sneezes on the disk, and every time you boot, you would hear them! But don't worry... I won't write this virus, and I doubt anyone could (and sneak it by.) After all, a digitalized sound takes a lot of disk space. But is there really anything useful to put in the boot block? I mean if you want to do anything at boot time, there is the startup-sequence to use. (I know, CLI is awful, but what can you do, eh?) I'd think that any boot block stuff would all be along the lines of hacks, and anything good would take more space than what's in the boot block. (See above.) Maybe if you don't want your Amiga to have a 'virus', you could replace the coughs with some music. Now does anyone have a good suggestion for 'music to boot by'? -- ============================================================================== | kb (Stan Ziel) "We're cloudbusting, Daddy" | the Big Electric Cat | ..!cmcl2!phri!dasys1!kb
page@swan.ulowell.edu (Bob Page) (02/02/88)
kb@dasys1.UUCP (Stan Ziel) wrote: >an idea I had ... You store an IFF sound of coughs and/or >sneezes on the disk, and every time you boot, you would hear them! People/Link has a program in their library that makes your disk drive "GULP" when you insert a disk, and say "YUCK" (or something) when you eject the disk. ..Bob -- Bob Page, U of Lowell CS Dept. page@swan.ulowell.edu ulowell!page "I don't know such stuff. I just do eyes." -- from 'Blade Runner'
darin@laic.UUCP (Darin Johnson) (02/02/88)
Actually, I would like to see how people use the bootblock. I have benn thinking off and on about coming up with my own OS, but always forget about it when I think of how to create a boot block, generating code that will work there (I assume Lattice/Manx won't work - assembler perhaps..), and how to put enough code in the bootblock to actually read stuff from the disk to load in the rest of the OS. So actually, there are more uses to the bootblock than Viruses and neat demos. -- Darin Johnson (...ucbvax!sun!sunncal!leadsv!laic!darin) (...lll-lcc.arpa!leadsv!laic!darin) All aboard the DOOMED express!
langz@athena.mit.edu (Lang Zerner) (02/02/88)
In article <2581@swan.ulowell.edu> page@swan.ulowell.edu (Bob Page) writes: >People/Link has a program in their library that makes your disk drive >"GULP" when you insert a disk, and say "YUCK" (or something) when you >eject the disk. I've heard about this program here a number of times, and I'd really love to have it. Unfortunately, I can't find anyone around here who knows what I'm talking about. Hey, Mr. comp.binaries.amiga, can you get a hold of this for us? Be seeing you... --Lang Zerner langz@athena.mit.edu ihnp4!mit-eddie!athena.mit.edu!langz "To be clever enough to get a great deal of money, one must first be stupid enough to want it." -- G.K. Chesterson
ain@s.cc.purdue.edu (Patrick White) (02/02/88)
>>"GULP" when you insert a disk, and say "YUCK" (or something) when you >talking about. Hey, Mr. comp.binaries.amiga, can you get a hold of this for I've never heard of it either... does the author (or someone close to him/her) want to send it to us? -- Pat White (co-moderator comp.sources/binaries.amiga) UUCP: k.cc.purdue.edu!ain BITNET: PATWHITE@PURCCVM PHONE: (317) 743-8421 U.S. Mail: 320 Brown St. apt. 406, West Lafayette, IN 47906 P.S> sorry about truncating the origional articles to meaninglessness, but I have to or it won't be allowed off site.
cmcmanis%pepper@Sun.COM (Chuck McManis) (02/03/88)
In article <150@laic.UUCP> darin@laic.UUCP (Darin Johnson) writes: > Actually, I would like to see how people use the bootblock. I have > been thinking off and on about coming up with my own OS, but always > forget about it when I think of how to create a boot block, generating > code that will work there (I assume Lattice/Manx won't work - assembler > perhaps..), and how to put enough code in the bootblock to actually > read stuff from the disk to load in the rest of the OS. So why do you need to change the boot block to read in the O/S? Doing O/S development on the Amiga is very straightforward, you write your kernel in whatever language you propose, write little 'mini boot' that AllocMem's all of the available memory (or maybe just some big contiguous chunk) and loads your kernel image into it and starts it. I have seen several possible ways that MINIX (one of the more popular O/S' since all of the implementing has already been done) could run as an exec task. if you have 2Meg of memory you could even give MINIX it's own 640K address space and leave the rest for other things. The point here, is that not being knowledgeable enough to bash on the boot block should not be an impediment to doing os development on the Amiga. --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.
cthulhu@athena.mit.edu (Jim Reich) (02/03/88)
In article <2437@crash.cts.com> amiguy@pnet01.cts.com (Sean Wolfe) writes: >rouaix@inria.UUCP (Francois Rouaix) writes: >>By now, thanks to SCA ;-), you all know that we have some free space in >>the boot-blocks of DOS-bootable disks to write a small piece of code. >>How about launching a boot-block contest ? >You can't be serious, can you? Are you suggesting that everyone write a > 'virus' ?? NONONONONONO!!!! The trick is: these programs SHOULD NOT propagate themselves! If they do, MAKE THEM CHECK if the target disk has a normal boot block! Otherwise, you will have another virus on your hands, every bit as nasty as the SCA virus! -- Jim
rouaix@inria.UUCP (Francois Rouaix) (02/03/88)
In article <150@laic.UUCP>, darin@laic.UUCP (Darin Johnson) writes: > forget about it when I think of how to create a boot block, generating > code that will work there (I assume Lattice/Manx won't work - assembler > perhaps..), and how to put enough code in the bootblock to actually > read stuff from the disk to load in the rest of the OS. > Why, of course assembler is what you need. You also need to compute the checksum (this was posted some weeks ago here). You should also know that at boot-time, system is almost completly setup. You may open graphics.library and do some graphics for example. As for reading stuff from disk, it is quite simple. When the strap code loads the boot-block and start executing (at offset #$0c), you have in A1 a pointer to an IOStd ( I mean the special one for trackdisk.device - I don't have the full name in mind). Just fill it with your parameters and call BeginIO(). As far as I know, Psygnosis uses this scheme in their games. But this is not what we want. The boot-block code should always return so that set-up of the system could be completed by the strap code. If the code does not return, there may be some problems. At the moment I suspect that you will lose the memory used by the "workbench hand" picture. (View+ViewPort+RastPort+320x200 plane...). Other disks won't be validated (I think). For good uses of the boot-block (apart of Viruses ;-) ;-)), we already have StealMemBoot (posted in comp.binaries.amiga weeks ago) that installs a path of AllocMem in the boot-block.
kkaempf@rmi.UUCP (Klaus Kaempf) (02/13/88)
In <2798@dasys1.UUCP> kb@dasys1.UUCP (Stan Ziel) writes: > But is there really anything useful to put in the boot > block? I mean if you want to do anything at boot time, > there is the startup-sequence to use. Yes, there is. No, the startup-sequence might be too late. The following is untested, but it should work. Both the trackdisk.device and the AmigaDOS won't allocate buffers for unused drives, so it will give you a bit of extra MEMF_CHIP. Might be necessary for some games or if you don't have enough RAM. Never needed it because I got 4.5megs and I find programming much more fascinating than playing games. :-) Try inserting something like this in your bootblock: #include <resources/disk.h> /* ... whatever you want ... */ struct DiskResource *dr; if((dr = OpenResource(DISKNAME)) != NULL) { dr->dr_UnitID[1] = dr->dr_UnitID[2] = dr->dr_UnitID[3] = DRT_EMPTY; } /* ... fire up AmigaDOS ... */ !ralph Ralph Babel, Falkenweg 3, D-6204 Taunusstein, FRGermany