Jump to content
IGNORED

FAT32 XEX loader


candle

Recommended Posts

Hello Sebastian

 

Because I don't have the hardware to transfer software from my Apple to my Atari at the moment. Hmm, might try the emulator later today.

 

BTW why don't you split up the software in a "hardware specific part" and "the rest". That way you'd only need to rewrite part of the software if you find bugs or add features and you could have different "device drivers" for different hardware. Check out my (AT)ASPI page.

 

sincerely

 

Mathy

Link to comment
Share on other sites

What Mathy's suggesting is already almost a reality. IDE Plus and SIDE already share the same low-level API, and if all new IDE interfaces adopt the same SIO command set and XDCB (as well as the same partition table design), all the tools written for one interface will work with another, the only differences being in the driver / BIOS.

Link to comment
Share on other sites

small improvements, one bug found and corrected

 

i could really use some feedback

For this version of fat32-intmyide.xex I get a black screen when I try to load any programs.

 

For the previous version the only problems I had discovered are

 

kikstart - doesn't load

pitfall - data corruption on player character

 

-Steve Sheppard

Link to comment
Share on other sites

pitfall loads normally, the other one gives:

EXE: Loading program 0004-00F9 to B400-B4F5

EXE: Loading program 00FE-4B7D to 2000-6A7F

EXE: Loading program 4B82-4B85 to 02E0-02E3

EXE: Jumping to B400

ERROR: Invalid Atari executable: bad start/end range.

EXE: Launching at B400

 

(altirra debugger)

Link to comment
Share on other sites

pitfall loads normally, the other one gives:

EXE: Loading program 0004-00F9 to B400-B4F5

EXE: Loading program 00FE-4B7D to 2000-6A7F

EXE: Loading program 4B82-4B85 to 02E0-02E3

EXE: Jumping to B400

ERROR: Invalid Atari executable: bad start/end range.

EXE: Launching at B400

 

(altirra debugger)

 

hmm

 

Both games load fine on my 800XL from SDrive but kikstart won't load with fat32-intmyide.xex and Pitfall has random data (rectangular pixels) in player/character..

Link to comment
Share on other sites

pitfall loads normally, the other one gives:

EXE: Loading program 0004-00F9 to B400-B4F5

EXE: Loading program 00FE-4B7D to 2000-6A7F

EXE: Loading program 4B82-4B85 to 02E0-02E3

EXE: Jumping to B400

ERROR: Invalid Atari executable: bad start/end range.

EXE: Launching at B400

 

(altirra debugger)

 

Odd, I'm not seeing this. The executable shouldn't return after the init segment at $B400 is run.

Link to comment
Share on other sites

anything that loads inside 0700-0c31 will fail

other than that - should work

 

Suggestion - when I wrote a B-Loader ~ 20 years ago, I tried to get it to use as little memory as possible for the needed loader part.

 

Once the program is selected for load, most of the program is no longer needed. I put some of the loader code within the RAM normally used for IOCBs. Leave IOCB #0 alone, that leaves $350-$3E7 where you can have some code (printer buffer another thing you can overwrite).

 

You could also use the bottom part of the stack. I suppose the biggest hurdle faced by modern loaders is that if you're supporting 256/512 byte sectors, that puts a big dent in available RAM.

Link to comment
Share on other sites

some loader improovements

anything that loads inside 0700-0c31 will fail

other than that - should work

 

i won't post another version for quite some time now - lots of little things to do

i don't have the Side Cart yet but the two Myide versions work ok. Is there a cold start keypress for exiting and starting a new game without cycling the on/off switch. Also about formating the CF card is there an optimal cluster size.. I only had problems with a couple games (probably not xl/xe version) or loader inside 0700 etc... This was all done on real hardware. 130 XE External MyIDE Cart with Atarimax version of SDX444.rom and 1200 Internal Myide with external SDX444 SicCart both with SIO2SD floppy set as Drive one so I could load your program.

 

Thanks!

Link to comment
Share on other sites

Before I went to bed last night I noticed that your fat32 loader works with Altirra while emulating 400/ 800. Does this mean it might work with a real 800? (off topic: Will SIDE work in a real 800?)

 

The 800 hasn't been my primary A8 for a long time now but I've always wanted something to keep it on stand-by, that is to say, having a game loader with mass storage available. I've had a barebones SDrive for it for a couple of years now but something in the form of a cartridge (perhaps even a right-side cartridge) is really what I've been dreaming, for a long, long time.

 

I'm seeing a glimmer of hope now!

 

-Steve Sheppard

Edited by a8isa1
Link to comment
Share on other sites

SIDE will work with 400/800 with 48k of RAM

one thing though - you can't close cartridge door when SIDE is in :(

I could do special board for it, but unfortunatly i don't have any enclosure for it (one i can buy new)

if that doesn't change i can't do much about it

 

here are last improovements

every of my troublesome xex files are loading now properly

i've also added clearing memory routines which had helped some games to work properly

fat32-intmyide.xex

fat32-myide.xex

fat32-side.xex

  • Like 1
Link to comment
Share on other sites

SIDE will work with 400/800 with 48k of RAM

one thing though - you can't close cartridge door when SIDE is in :(

I could do special board for it, but unfortunatly i don't have any enclosure for it (one i can buy new)

if that doesn't change i can't do much about it

 

here are last improovements

every of my troublesome xex files are loading now properly

i've also added clearing memory routines which had helped some games to work properly

 

Pitfall issue is cleared up :D

 

Thanks for fat32 loader, candle!

Link to comment
Share on other sites

I just tried two partitioned CF cards (both with FAT32 partitions as the first entry in MBR; one partitioned with MS Diskpart, the other with Linux Parted), and neither works with the loader (latest SIDE version).

 

"Stock" CF card, however (i.e. one with a floppy boot record on sector 0), works fine.

Link to comment
Share on other sites

OK, I'm the guy who always asks for extra features (and for free)...

 

I was just wondering would it be possible to keep MyIDE working as normal but have a special version of fat32-intmyide.xex access a slave device? That's assuming one owns a dual IDE/CF adapter.

 

Mind you, I don't own a dual IDE/CF adapter at this time. I am just asking if it would be possible. ;-)

 

-Steve Sheppard

Link to comment
Share on other sites

it would be possible, but is it really desirable?

not much to do in code, but really what for?

i would rather focus on getting directories sorted, adding proportional font, and getting history of cursor movement (so cursor would not return to 1st entry in directory after cd up), etc

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...