This page is a wiki. Please login or create an account to begin editing.


7 posts / 0 new
Last post
Ferazel-X's picture
Offline
Joined: 2009 Nov 29
Mac OS hacking

Is there any way to hack the system file (or the BIOS if need be) so that it always thinks that there is a disk in the "actual" drive, even though there isn't? If the system file (or BIOS) can be tricked into thinking that there is a 400k floppy in the "actual" drive (even though there isn't), it may become possible to run Pinball Constuction Set in Mini vMac.

Comments

Ferazel-X's picture
Offline
Joined: 2009 Nov 29

Is this possible?

Ferazel-X's picture
Offline
Joined: 2009 Nov 29

Is it?

nil0bject's picture
Offline
Joined: 2012 Nov 14

Yes it's possible, but it's not what you wish to do.
You want to modify Pinball Constuction Set so that it no longer checks for the floppy drive.
The idea is, you find the instruction in the game which looks for the floppy disk, then replace it with a nop or branch ahead to continue the app.

Hope this clears things up.

Ferazel-X's picture
Offline
Joined: 2009 Nov 29

How would I do that, and what program would I use?

nil0bject's picture
Offline
Joined: 2012 Nov 14

a debugger can halt execution of a running app at a user defined breakpoint. you will have to figure out where to set the breakpoint. it should be as close to when the app checks for the floppy(before is best) as possible. then it's a matter of stepping through the assembly to pinpoint the exact instruction which checks for the floppy.
once you know that, you replace that instruction with something that will allow the program to continue executing. this is usually done by reversing the logic. for example, if the floppy check returns a 'true'/'false' value, then check for false instead of true, because you know that function will return false without a floppy.
this change can be permanent by modifying the programs data fork. find the correct instruction to replace and put in your reverse logic. save and run.

you will need a debugger like macsbug to find which instruction checks for the floppy.
then you will need to modify the data fork of the app with something like super resedit or resourcerer.

hope this clears things up. it's not specific to Pinball Constuction Set, but it should be a good enough start.

nil0bject's picture
Offline
Joined: 2012 Nov 14

i just saw your(?) post on the mla.
http://68kmla.org/forums/viewtopic.php?f=15&t=17523
so, you've already sorted the debugging, right?