Stop the drive when binary is loaded and run

Pagina 1/2
| 2

Door Daemos

Paragon (1710)

afbeelding van Daemos

06-05-2011, 15:18

Some games like. Riveraid, beamrider and thexder are run from bin files because the roms simply refuse to go. However when I load the bins in this fashion:

bload"game.bin",r

the game runs fine and all but the drive keeps spinning until power off. This cannot be a healthy thing for my good old ill multiple hospitalised FDD Wink So I wonder is there some kind of poke or trick to make sure the drive stops before the binary gets to run??

Aangemeld of registreer om reacties te plaatsen

Van Meits

Scribe (5824)

afbeelding van Meits

06-05-2011, 15:58

It can be either badly cracked (probably in this case) or badly coded diskrom (some falcom/micro cabin games)...
In the past I had a Sony 700 with two diskroms between which I could switch (while powered off). To my surprise one diskrom let the drive spin continuously while the other switched it off after loading completion. I blame this last situation on a badly coded diskrom...
The fact that old games which originate on cassettes, I'd blame bad cracking. I can't check anymore if there's a diskrom difference in this case...

Van hit9918

Prophet (2886)

afbeelding van hit9918

06-05-2011, 16:42

do a bload without ,r and then run this:

10 ' FCBF : SAVENT
20 a = peek(&hfcbf) + peek(&hfcc0)*256
30 ?"bload run address = &h" +hex$(a)+"  "
40 ?"start with x=usr(0)"
50 defusr = a

So you get at that bload run address and can wait till floppy is off.

Maybe it fails when the BASIC app overwrites the bload.
Then try typing in line 20 and line 50 directly and then x=usr(0)

Van nikodr

Paladin (744)

afbeelding van nikodr

06-05-2011, 16:54

I remember some cracked games and megaroms i had let the drive spin.I will try this as it's no good replacing belts after extensive usage.

Van Daemos

Paragon (1710)

afbeelding van Daemos

06-05-2011, 17:21

Works perfectly for the little guys that fit within one page but the slightly bigger guys overwrite the listing.

Any trick how to bload the bigger ones into a slightly higher/lower adres??

Van hit9918

Prophet (2886)

afbeelding van hit9918

06-05-2011, 17:21

I remember some cracked games and megaroms i had let the drive spin.I will try this as it's no good replacing belts after extensive usage.

I always assumed that one can throw out a 3.5" diskette while it is spinning.
Maybe it is less wear than the drive spinning for hours in gaming.

The issue is that those apps don't "let" the drive spin, but there normaly is no instruction to turn it off. It's the BIOS interrupt that turns it off after some seconds. But when the game throws out the BIOS, the drive keeps running.
To add even more confusion, some drives go off themselves. This comfort makes the programmer fail on other drives.

So this is what my posted code is about, wait some more seconds in BASIC till running the app.
The deal was to get at the address which the ",r" of the bload does call.

Van hit9918

Prophet (2886)

afbeelding van hit9918

06-05-2011, 17:36

Works perfectly for the little guys that fit within one page but the slightly bigger guys overwrite the listing.

Any trick how to bload the bigger ones into a slightly higher/lower adres??

cant move the bloads. try moving the BASIC before doing the bload:

100 poke &hf677,&hd8 : poke &hf676,&h01 : poke &hd800,0

Van Daemos

Paragon (1710)

afbeelding van Daemos

06-05-2011, 18:33

almost. The move needs to be more extensive.

Van Daemos

Paragon (1710)

afbeelding van Daemos

08-05-2011, 17:10

100 poke &hf677,&hd8 : poke &hf676,&h01 : poke &hd800,0

I have tried this but the move is not far enough. If you can explain how this poke works then I can shift around in the memory and try until I get it right.

Van sd_snatcher

Prophet (3262)

afbeelding van sd_snatcher

08-05-2011, 21:10

@Daemos
You can use ExecROM to load this roms and it will turn off the drive accordingly.

Van Daemos

Paragon (1710)

afbeelding van Daemos

08-05-2011, 21:17

... This particular rom hangs the MSX. I have tried al versions and only the binary type runs. Or can I load binary files with execrom?

Pagina 1/2
| 2