dirkwhoffmann / vAmiga

vAmiga is a user-friendly Amiga 500, 1000, 2000 emulator for macOS
https://dirkwhoffmann.github.io/vAmiga
Other
293 stars 24 forks source link

Support for Atari ST floppy disk file format #821

Open mithrendal opened 3 months ago

mithrendal commented 3 months ago

If EmuTOS kickstart rom replacement is installed in vAmiga kickstart rom socket

vAmiga looks and feels like an Atari ST 🤓

IMG_0110

Here vAmiga on iPad via (vAmigaWeb)

Tried to throw some .ST disks on it failed…

PNG-Bild

It does not accept these Atari floppy disks … it seems so.

for example this disk

https://www.atarimania.com/game-atari-st-drachen_23256.html

Spiele Drachen V2.0.st.zip

dirkwhoffmann commented 3 months ago

Findings:

Bildschirmfoto 2024-03-26 um 19 20 33

TODO: Find out which drive parameters (mechanical delays) cause the problem.

dirkwhoffmann commented 3 months ago

More findings:

Bildschirmfoto 2024-03-27 um 12 42 22

Bottom line: EmuTOS may (unintentionally) expect a specific disk layout, i.e., it seems to depend on two consecutive tracks to be aligned in a certain way.

dirkwhoffmann commented 3 months ago

Even more findings...

void
FloppyDisk::init(Diameter dia, Density den)
{
    diameter = dia;
    density = den;

    u32 trackLength = 0;

    if (dia == INCH_35  && den == DENSITY_DD) trackLength = 12668;
    if (dia == INCH_35  && den == DENSITY_HD) trackLength = 24636;
    if (dia == INCH_525 && den == DENSITY_DD) trackLength = 12668;

    if (trackLength == 0 || FORCE_DISK_INVALID_LAYOUT) {
        throw VAError(ERROR_DISK_INVALID_LAYOUT);
    }

    // REMOVE ASAP
    trackLength = 14668;

    for (isize i = 0; i < 168; i++) length.track[i] = trackLength;
    clearDisk();
}
puleyo commented 1 month ago

Hi, is this the way to have a new emulator ? VirtualSt ? If this could be possible it would be nice !

Haroldo64 commented 1 month ago

A new VirtualST emulator would be a great idea! There are no good ST emulators for Mac, and there would be a good way to improve knowledge for TOS. If "convert" VAmiga to VirtualST could be not too complex it would be fine to run a ST with blitter and 1MB ram emulated ! Atari hardware should be less than Amiga "multi-cpu" or something like. Bye

dirkwhoffmann commented 1 month ago

I have too much on my plate to write an ST emulator myself (besides, I never had an ST, thus lacking the necessary passion for the device). What might come is an Atari 2600 emulator at some point in time (just for fun), but also not in the short term.