dirkwhoffmann / vAmiga

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

Amiga Transformer generates a Guru #409

Closed dirkwhoffmann closed 3 years ago

dirkwhoffmann commented 4 years ago

Emulator Disk Transformer v1.21 - A-Max - Go-64! V2.0 - BBC (1988)(-)(De).adf

To reproduce, select 1 from the start menuโ€ฆ

Bildschirmfoto 2020-09-16 um 20 28 02

UAE: ๐Ÿ‘

Bildschirmfoto 2020-09-16 um 20 27 27

vAmiga: ๐Ÿ™ˆ

Bildschirmfoto 2020-09-16 um 20 27 44

BTW, C64 emulation works fine in vAmiga ๐Ÿคค

Bildschirmfoto 2020-09-16 um 20 29 33 Bildschirmfoto 2020-09-16 um 20 29 39
dirkwhoffmann commented 4 years ago

To ease debugging, here is an isolated test case that boots into transformer right away:

at.adf.zip

It boots fine in SAE (kick1.3, ECS Agnus, 512 + 512) with lowest compatibility settings (Immediate Blitter, Turbo drive)

Bildschirmfoto 2020-09-17 um 08 05 53
dirkwhoffmann commented 4 years ago

The Guru issue turned out to be an easy one. After setting up, the CPU performs a soft reset (RESET instruction) which didn't work as expected in vAmiga. This has been fixed:

Bildschirmfoto 2020-09-17 um 14 33 25

Now, the question is: What is a DOS diskette? A diskette with MSDOS on it? Or a blank disk in DOS format? Maybe we should try to get a manual for this tool...

I tried with a blank DOS disk in UAE, but it ended up in a Guru ๐Ÿ˜ฏ.

Does anybody have a DOS diskette with MSDOS in ADF format?

mithrendal commented 4 years ago

I still have the original disk of this piece of software... The Commodore Amiga labeled transformer disk came with my Amiga1000. if I remember correctly you had to insert a original 720KB MS-DOS disk into it. PC formatted 720 KB was crucial. For example MSDOS 3.3. I remember that I used it in 1989/90 or so to play around with pascal and it worked albeit very slowly ... I did not like pascal then... because I already mastered C and has become used to it ...

dirkwhoffmann commented 4 years ago

image

720KB MS-DOS disk into it. PC formatted 720 KB was crucial. For example MSDOS 3.3.

Yes, exactly. Now, we need that disk in ADF format ๐Ÿคค.

Once we've got that disk, we install windows. And once we've got Windows running, we install Microsoft Flight Simulator 2020. ๐Ÿ™Š

mithrendal commented 4 years ago

Hmm I looked in my old disk box ... and found this ...

grafik

I think it is the mentioned MSDOS3.3 Pascal disk ...

What if we try to load it from the Amiga1000 with the serial connection and the AmigaExplorer program ... it could be that we will get as a result an ADF with that disk no ? Is it then still PCFormatted ?

dirkwhoffmann commented 4 years ago

What if we try to load it from the Amiga1000 with the serial connection and the AmigaExplorer program ...

This could work if AmigaExplorer is able to create ADF files for disks in PC format. They are just like standard ADFs with less sectors per track (9 instead of 11). This is also how they can be recognized. They have a slightly smaller file size.

BTW, I learned Turbo Pascal in school on very slooooow CP/M machines (back then, nobody had CP/M machines any more, except our school ๐Ÿ˜‚). Surprisingly, Turbo Pascal was pretty fast even on these old machines.

dirkwhoffmann commented 4 years ago

Is it then still PCFormatted ?

AmigaExplorer runs on Windows, right? UAE is able to create blank ADFs in PC format (I did this an hour ago). Maybe AmigaExplorer can be told to write into this (blank) ADF.

tonioni commented 4 years ago

PC floppy can't exist in ADF format. Either you need to support PC floppy disk images (*.ima usually) in emulator (convert to PC MFM format) or support for example extended ADF that can handle any raw MFM image.

dirkwhoffmann commented 4 years ago

Either you need to support PC floppy disk images (*.ima usually)

I "found" MSDOS3.3.img, renamed it to MSDOS.IMA and mounted it in df1:. I guess, IMA and IMG are the same, because it booted without any issue in UAE:

Bildschirmfoto 2020-09-18 um 22 49 36

Very nice!

Fun fact: MSDOS 3.3 refuses the current date. It interprets it as 1920, I guess ๐Ÿ˜ณ.

dirkwhoffmann commented 4 years ago

Either you need to support PC floppy disk images (*.ima usually) in emulator (convert to PC MFM format)...

That's the way to way to go ๐Ÿ˜Ž. Letโ€™s see what the new version can doโ€ฆ

To that point, I had it already working:

Bildschirmfoto 2020-09-20 um 14 32 04

Now, letโ€™s drag in a MSDOS 3.3 boot diskโ€ฆ

Bildschirmfoto 2020-09-20 um 14 33 42

โ€ฆ and insert that puppy into df1.

Bildschirmfoto 2020-09-20 um 14 54 51

Tension risingโ€ฆ I better close my eyes ๐Ÿ™ˆ

Woohoo. MSDOS in action ๐Ÿ˜ƒ.

Bildschirmfoto 2020-09-20 um 14 23 43 Bildschirmfoto 2020-09-20 um 14 24 14

With Amiga Transforming working, we can switch to ARM based Macs without hesitation. If Apple decides to cancel PC support, we still have Amiga Transformer. The PC is a โ€žTool for Modern Timesโ€œ, see:

unnamed

In warp mode, Amiga Transformer is even faster than the original PC. ๐Ÿ˜Ž

Unfortunately, itโ€™s not 100% bug free, yet ๐Ÿ™„. It only works if AmigaTransfomer is inserted in df0: before the Amiga is powered up. If it is inserted after the hand & disk logo has shown up, it produces a Guru when booting from the PC disk. This is likely due to the implementation of the RST instruction. Itโ€™s still unclear to me which components are reset and which are not when the CPU triggers a reset.

Furthermore, some important features are missing, namely:

mithrendal commented 4 years ago

@dirk Is there any chance to get my TurboPascal DOS disk into an ima file ? ... The only computer I still have, which has a floppy, is the Amiga1000 ๐Ÿ˜ฌ...

grafik

I will once again unearth the Amiga1000 tonight ... this reminds me somehow of mark twains story of huckleberry finn and tom saywer at the graveyard and the cat ๐Ÿ™€ which I read when I was a child ... ouch that was really scaring ๐Ÿ’€ ... Maybe AmigaExplorer can make an .ima file ?

when I get TurboPascal running in AmigaTransformer ... maybe I should start porting vc64dos edition with that development environment ... ?

AmigaExplorer runs on Windows, right? UAE is able to create blank ADFs in PC format (I did this an hour ago). Maybe AmigaExplorer can be told to write into this (blank) ADF.

I will try tonight ... lets see what happens ... maybe it works only at midnight 12:00

dirkwhoffmann commented 4 years ago

Is there any chance to get my TurboPascal DOS disk into an ima file ?

Don't know. I haven't been successful with my latest attempts to read or write (virtual) PC disks on the Amiga in UAE. I tried to install the CrossDos drivers as it is described here:

https://www.mingos-commodorepage.com/tutorials/amigapctoamigacrossdos.php

But there is no PC1: icon showing up, no matter which disk I try.

I've also tried to boot from some 5.25" MS DOS images with Amiga Transformer (with df1: configured as a 5.25" drive in UAE), but it always produced a Guru. I think the 3.5" Dell MS DOS 3.3 disk which I used in my experiments above is one of the rare versions that are compatible with Amiga Transformer.

dirkwhoffmann commented 4 years ago

Strange. My new code basically resets everything except the internal CPU state and memory if the CPU executes the RESET instruction. But after hitting RETURN, Amiga Transformers still produces the Guru if the Transformer disk was inserted after the hand & disk logo has shown up (it still works if the disk is present on power up). This means that Amiga Transformer must stumble across some unexpected memory contents that has been created on power up if no disk was present.

mithrendal commented 4 years ago

Have you tried to give it only 512kb chipram? Because that piece of software is from 1985 or so. Maybe they had not tested it on a fastram machine ...

dirkwhoffmann commented 4 years ago

Have you tried to give it only 512kb chipram?

With 512 Chip + 0 Slow, it works, no matter when I insert the disk. However, in UAE it also works with 512 Chip + 512 Slow.

This might be related to the Jetsons bug that only occurs if SlowRam is added. But what on earth could go wrong with Slow Ram during the boot process? ๐Ÿค”

mithrendal commented 3 years ago

...inserted the TurboPascal DOS-disk into the A1000 in df0: and now we are here

grafik

lets try to pull it over the serial link ...

grafik

uh that does not look good ... either AmigaExplorer does not support to copy DOS formatted disks or the disk is already bad after all these years ... I have to try to boot it into AmigaTransformer on the A1000 hang on ...

mithrendal commented 3 years ago

A81A52E8-4ADD-48C5-A801-B9FA000E16D2

Ready to rumble A1000 in PC mode. ๐Ÿ˜Ž

83134615-B833-4149-944D-97CA767BCAEA

๐Ÿ˜ญoh no disk error

AmigaExplorer and AmigaTransformer both say it is a bad disk ๐Ÿ˜ญ

mithrendal commented 3 years ago

First try I booted from your at.adf that did not work...

Now I tried my own AmigaTranformer

image

and that worked

FB342ADF-0124-4F9D-A1FF-A1FCB40A3F23

E7E3EDC0-E1E0-421A-8EE7-8541AF58DF61

I retested yours it did not work ...

then I double checked and retested mine ... and it worked again

mithrendal commented 3 years ago

I again looked a the screenshots from yesterdays graveyard session ...

yours at.adf expects boot disk in df1: my AmigaTransformer expects msdos bootdisk in df0:

thats why I got read errors ... why does the software not print out a "drive not present error" ?๐Ÿ™„

Ok ... so we know now ancient disks are still fine ... but AmigaExplorer can not transfer those dos formatted disks ... as toni already told us before ๐Ÿ˜Œ

dirkwhoffmann commented 3 years ago

my AmigaTransformer expects msdos bootdisk in df0:

Uh, you've got a "single drive" transformer. I didn't notice that. ๐Ÿ˜ฎ

Ok ... so we know now ancient disks are still fine

Fascinating, but we've already learned that from Battlestar Galactica. The old ship was the most reliable.

but AmigaExplorer can not transfer those dos formatted disks ... as toni already told us before

Damn, he's always right. ๐Ÿ˜‰