Jump to content



4

FAT32 XEX loader


228 replies to this topic

#51 Mathy OFFLINE  

Mathy

    Stargunner

  • 1,167 posts
  • Location:Heerlen, NL

Posted Fri Jul 22, 2011 6:22 AM

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

#52 candle OFFLINE  

candle

    Stargunner

  • 1,909 posts
  • Location:Lublin, Poland

Posted Fri Jul 22, 2011 6:57 AM

i don't split, i combine

#53 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 5,408 posts
  • Jumping through hOOPs...
  • Location:United Kingdom

Posted Fri Jul 22, 2011 1:53 PM

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.

#54 candle OFFLINE  

candle

    Stargunner

  • 1,909 posts
  • Location:Lublin, Poland

Posted Fri Jul 22, 2011 2:18 PM

loader needs to be self-contained, besides, there is a quite good standard established quite some time ago i like to follow - its called ATA

#55 Mathy OFFLINE  

Mathy

    Stargunner

  • 1,167 posts
  • Location:Heerlen, NL

Posted Fri Jul 22, 2011 2:20 PM

Hello Candle

But (AT)ASPI could become the Atari standard.

sincerely

Mathy

#56 a8isa1 OFFLINE  

a8isa1

    Dragonstomper

  • 786 posts

Posted Fri Jul 22, 2011 5:37 PM

Fat32 loader works great!

Super simple too.

#57 candle OFFLINE  

candle

    Stargunner

  • 1,909 posts
  • Location:Lublin, Poland

Posted Sat Jul 23, 2011 3:15 PM

small improvements, one bug found and corrected

i could really use some feedback

Attached Files



#58 a8isa1 OFFLINE  

a8isa1

    Dragonstomper

  • 786 posts

Posted Sat Jul 23, 2011 4:05 PM

View Postcandle, on Sat Jul 23, 2011 3:15 PM, said:

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

#59 candle OFFLINE  

candle

    Stargunner

  • 1,909 posts
  • Location:Lublin, Poland

Posted Sat Jul 23, 2011 4:06 PM

Steve, could You attach files you're reffering to?

#60 candle OFFLINE  

candle

    Stargunner

  • 1,909 posts
  • Location:Lublin, Poland

Posted Sat Jul 23, 2011 4:21 PM

eh, i wanted to speed up build process and used conditional compilation... too bad that i did that wrong

again, two other versions

Attached Files



#61 a8isa1 OFFLINE  

a8isa1

    Dragonstomper

  • 786 posts

Posted Sat Jul 23, 2011 4:28 PM

View Postcandle, on Sat Jul 23, 2011 4:06 PM, said:

Steve, could You attach files you're reffering to?

Sure. Here they are.

BTW, I'm still not able use fat32 with an MBR and FAT32 partition I generate from OpenSuse linux

CF is in "floppy mode" (is that the name?), i.e. there's no MBR.

Fat32 can see the files. With the previous version could load them.

Attached Files



#62 candle OFFLINE  

candle

    Stargunner

  • 1,909 posts
  • Location:Lublin, Poland

Posted Sat Jul 23, 2011 4:39 PM

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)

#63 a8isa1 OFFLINE  

a8isa1

    Dragonstomper

  • 786 posts

Posted Sat Jul 23, 2011 5:11 PM

View Postcandle, on Sat Jul 23, 2011 4:39 PM, said:

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..

#64 candle OFFLINE  

candle

    Stargunner

  • 1,909 posts
  • Location:Lublin, Poland

Posted Sat Jul 23, 2011 6:35 PM

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

Attached Files



#65 phaeron OFFLINE  

phaeron

    Dragonstomper

  • 629 posts
  • Location:USA

Posted Sat Jul 23, 2011 8:29 PM

View Postcandle, on Sat Jul 23, 2011 4:39 PM, said:

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.

#66 Rybags ONLINE  

Rybags

    Quadrunner

  • 10,314 posts
  • Location:Australia

Posted Sat Jul 23, 2011 9:18 PM

View Postcandle, on Sat Jul 23, 2011 6:35 PM, said:

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.

#67 rdea6 OFFLINE  

rdea6

    Dragonstomper

  • 910 posts
  • Location:Arizona USA

Posted Sat Jul 23, 2011 10:16 PM

View Postcandle, on Sat Jul 23, 2011 6:35 PM, said:

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!

#68 candle OFFLINE  

candle

    Stargunner

  • 1,909 posts
  • Location:Lublin, Poland

Posted Sun Jul 24, 2011 5:31 AM

cluster size is not important
in future version the bigger the better, but not right now
i've managed to get below 0c00, so some more programs shoudl load

here it is

Attached Files



#69 a8isa1 OFFLINE  

a8isa1

    Dragonstomper

  • 786 posts

Posted Sun Jul 24, 2011 10:39 AM

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, Sun Jul 24, 2011 10:39 AM.


#70 candle OFFLINE  

candle

    Stargunner

  • 1,909 posts
  • Location:Lublin, Poland

Posted Sun Jul 24, 2011 10:45 AM

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

Attached Files



#71 a8isa1 OFFLINE  

a8isa1

    Dragonstomper

  • 786 posts

Posted Sun Jul 24, 2011 12:07 PM

View Postcandle, on Sun Jul 24, 2011 10:45 AM, said:

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!

#72 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 5,408 posts
  • Jumping through hOOPs...
  • Location:United Kingdom

Posted Sun Jul 24, 2011 12:40 PM

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.

#73 zaxon OFFLINE  

zaxon

    Chopper Commander

  • 185 posts
  • Location:London ,UK

Posted Sun Jul 24, 2011 1:44 PM

From 2 days sorting and checking games, so far 156 have proven without major problems. Sorted in directories,

#74 a8isa1 OFFLINE  

a8isa1

    Dragonstomper

  • 786 posts

Posted Sun Jul 24, 2011 2:20 PM

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

#75 candle OFFLINE  

candle

    Stargunner

  • 1,909 posts
  • Location:Lublin, Poland

Posted Sun Jul 24, 2011 3:15 PM

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




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users