![]() |
![]() |
#21 | |
Registered User
Join Date: Aug 2004
Location:
Posts: 3,351
|
Quote:
I downloaded the A-Max 2.56 DMS file from The Official A-Max Home Page: http://crossconnect.tripod.com/FILES/AMAX256-A1200.ZIP (It's a DMS file; download and change extension to .DMS) The disk contains a later version of scsi.amhd which I hadn't noticed before (9008 bytes, attached here). Briefly looking at its code, it does FindResident("scsi.device") then FindResident("card.resource") to distinguish A3000 from others. I don't think it has any IDE code, though xt.device is mentioned as with earlier versions, so who knows? Trying to boot from the Mac HD partition gives a sad mac error. Booting from floppy is possible, but you get a system error message when the desktop appears. So almost certainly no A600/1200/4000 IDE support. Code:
lbC0000B6 LEA (SDHD,PC),A5 MOVE.L A3,(lbL00001C-SDHD,A5) MOVEA.L (4).W,A6 LEA (scsidevice.MSG,PC),A1 JSR (_LVOFindResident,A6) TST.L D0 SNE (SCSI_type-SDHD,A5) BEQ.B NoScsiDevice LEA (cardresource.MSG,PC),A1 JSR (_LVOFindResident,A6) TST.L D0 BNE.B GotCardResSoNotA3000 LEA ($DD2020).L,A0 MOVE.B ($18,A0),D0 ANDI.B #$E0,D0 CMPI.B #$A0,D0 BEQ.B lbC000110 BRA.B Use_DD0041 GotCardResSoNotA3000 LEA ($DA2000).L,A0 MOVE.B ($18,A0),D0 ANDI.B #%11100000,D0 CMPI.B #%10100000,D0 BNE.B Use_DD0041 MOVE.B #2,(SCSI_type-SDHD,A5) BRA.B lbC000114 lbC000110 NEG.B (SCSI_type-SDHD,A5) lbC000114 MOVE.W #$FFFF,(lbC00008C-SDHD,A5) BRA.B lbC000162 Use_DD0041 MOVEA.L #$DD0041,A0 BRA.B lbC000162 NoScsiDevice LEA (ExpansionName,PC),A1 MOVEQ #0,D0 JSR (_LVOOpenLibrary,A6) MOVEA.L D0,A6 SUBA.L A0,A0 lbC000132 MOVEQ #0,D0 MOVE.W (lbW00000E-SDHD,A5),D0 ;$0202 MOVEQ #2,D1 JSR (_LVOFindConfigDev,A6) TST.L D0 BNE.B lbC000154 ... |
|
![]() |
![]() |
#22 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,574
|
Looks like next step is to detach IDE drive side emulation from Gayle/A4000 IDE port emulation to allow easy emulation of other IDE controllers. (My plan has always been to add other IDE controllers someday)
A3001, ICD AdIDE and Apollo accelerator IDE probably are the most common. |
![]() |
![]() |
#23 | |
Registered User
Join Date: Aug 2004
Location:
Posts: 3,351
|
Quote:
It would probably be quite simple to write a .amhd for the built-in IDE controller (gvpat.amhd is less than 1KB in size for comparison). However as far as I know ReadySoft didn't release .amhd programming specs (maybe that was available from their BBS?). So first you'd need to reverse-engineer existing .amhd files to figure out their structure and what each routine does. And that would need low-level knowledge of the specific IDE or SCSI controller that the .amhd accesses. |
|
![]() |
![]() |
#24 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,574
|
Hacking existing PIO-only IDE driver to work with another PIO-only controller should not be that difficult. Only differences are detection (which can be hacked to always return true), interrupt enable and status register and base address, perhaps also spacing of IDE registers. All the logic is in the drive.
I can take a quick look if resourced gvpat.amhd is available. (Of course I am too lazy to do it!) EDIT: probably would also help implementing gvp ide emulation. Last edited by Toni Wilen; 08 January 2015 at 16:27. |
![]() |
![]() |
#25 |
Phone Homer
Join Date: Jun 2006
Location: 5150
Posts: 5,823
|
Thank you for your Reply - intensive google searches suggest there are no AMHD drives for A600 etc
Maybe Jim Drew could offer some info http://eab.abime.net/showthread.php?p=956502#post956502 I follow with interest. |
![]() |
![]() |
#26 |
Registered User
Join Date: Aug 2004
Location:
Posts: 3,351
|
ReSource .rs file attached. Very sparsely commented (hardly at all for IDE access stuff), so may not be much help.
|
![]() |
![]() |
#27 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,574
|
Source as a text file please, even if it is not that useful. I want to see _something_ before deciding if it looks interesting enough
![]() (btw, IDE/ATAPI emulation decoupling from Gayle is nearly complete) |
![]() |
![]() |
#28 |
Registered User
Join Date: Aug 2004
Location:
Posts: 3,351
|
Here you go.
|
![]() |
![]() |
#29 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,574
|
Thanks.
It is perfect! Register addresses are clearly visible, extremely tiny IDE read/write routine (lbC000292) and some small status(?) check routines or something. |
![]() |
![]() |
#30 |
Registered User
Join Date: Aug 2004
Location:
Posts: 3,351
|
Slightly improved disassembly attached.
Edit: better version with both .rs and .asm attached too. Last edited by mark_k; 08 January 2015 at 22:33. |
![]() |
![]() |
#31 |
Registered User
Join Date: Feb 2008
Location: New York / USA
Posts: 361
|
You realize, of course, that if you emulate AdIDE, you're going to have to emulate AdSpeed, too. <G>
*runs and ducks for cover* Ah, I miss my old AdSpeed/AdIDE/AdRAM 540 A500. Hacking hardware was so much more entertaining than slot cards. Rodney |
![]() |
![]() |
#32 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,574
|
Code:
LEA ($7D,A3),A2 ;Point to status register $6x = normal ide registers, $7x = "alternate" register set, only 2 registers. (This address space is re-used by IDE doublers as secondary IDE) Code:
lbC000282 MOVE.B #$A0,($6D,A3) ;Write to drive/head register CLR.B (ReadStatusRegisterFlag-SDHD,A4) MOVE.B D7,($7D,A3) RTS Code:
lbC0003AE LEA (SDHD,PC),A0 MOVEA.L (BoardAddress-SDHD,A0),A1 TST.W ($40,A1) BMI.B SaveStatusRegisterValue DummyReturn0_3 MOVEQ #0,D0 RTS SaveStatusRegisterValue MOVE.B ($6F,A1),(StatusRegisterValue-SDHD,A0) ;Read status register MOVEQ #1,D0 MOVE.B D0,(ReadStatusRegisterFlag-SDHD,A0) RTS Making it A600/A1200 compatible would be very easy: replace IDE addresses (spacing is also different gvp has 2 byte register spacing, Commodore IDE 4 byte), adjust interrupt check and test code should be replaced with simple Gayle ID check. Quote:
(But I don't remember seeing adide roms anywhere yet) |
|
![]() |
![]() |
#33 |
Amiga Nuts!
Join Date: Sep 2006
Location: Le Mayet d'Ecole, 03800, FRANCE
Posts: 176
|
When I've used the Amax IV emulation (back in 1990... ouch!) it was on an A2000 with GVP A3001 28MHz + 8MB and real Mac roms in the Amax adaptator, the only (working) SCSI HD option at this time was the TrumpCard 2000 (http://amiga.resource.cx/exp/trumpcard2000) with a Quantum 100 MB scsi I disk and that was really working well !
I was booting the emulated Mac TWO to THREE time faster than the REAL Mac II FXs with 68030 @ 50MHz + 32MB of my DTP Flasher colleague, this using its own boot 88MB Syquest he used to boot all his networked big macs ! perhaps you should have a look at the trumpcard amhd driver ? |
![]() |
![]() |
#34 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,574
|
Trumpcard uses 53c80 scsi chip which probably is (too?) different than 53c94/ESP/FAS216.
EDIT: Yes, it is completely different, it does not have any high level commands. Last edited by Toni Wilen; 09 January 2015 at 11:28. |
![]() |
![]() |
#35 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,574
|
GVP A3001 is now implemented but gvpat.device appears to be quite unreliable. I didn't manage to boot any HDFs, it always crashed when it attempted to parse filesystem in RDB. Perhaps I missed something but at least RDSK block is read correctly.
Also for some reason amhd driver uses totally different IDE register addressing than gvpat.device. AMHD: 0x61, 0x63 and so on.. (data port = 0x60.w) GVPAT: 0x0861, 0x0961 and so on.. (data port = 0x860.w) Current code should work with both but I can't be sure if logic is exactly right. Autoconfig design is also strange, it needs two boards to work, first board (with product id 13) has ROM, ROM code won't work if ID is wrong. ROM code then looks for another board with product id 11, if found, it starts gvpat.device. This board has IDE IO but apparently no ROM. Point accelerator rom box to gvpat.device rom image. |
![]() |
![]() |
#36 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,574
|
I think problem is solved now.
4.x boot roms appear to be only for Series II A3001 which has slightly different hardware. 3.x and probably older ones only work with Series I A3001 and this revision uses same addresses as AMAX driver. (and it also does not crash when parsing RDB blocks, possible v4.1 that is floating around is broken?) A3001 Series I emulation should now be good enough for AMAX testing. Internet says gvpat.device v2.4 driver version is needed for Series II AMAX support. EDIT2: A3001 autoconfig data is probably wrong but no one seems to preserve that information. EDIT: Same "sad" mac error, same blocks loaded. This confirms it isn't drive emulation problem. Last edited by Toni Wilen; 10 January 2015 at 13:10. |
![]() |
![]() |
#37 | |
Registered User
Join Date: Aug 2004
Location:
Posts: 3,351
|
Quote:
I haven't had a chance to try the GVP 3001 emulation yet. But yesterday I tried to get A-Max 1.0 working without success. I wanted to see whether WinUAE's A-Max cartridge emulation works with 64KB Mac ROMs. (A-Max 2.5 only supports 128KB ROMs.) But even using 128KB ROMs, all I got was an immediate sad Mac screen on starting the emulation. That's before the insert disk screen, there was no floppy disk in the drive. A-Max 1.0 doesn't support hard disks so it's not related to that. Can anyone else get it running in WinUAE, even just to the point of the insert disk screen? Last edited by mark_k; 10 January 2015 at 13:33. |
|
![]() |
![]() |
#38 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,574
|
Include exact same AMAX files you tried + step by step instructions what to do and I'll check. This seems much better test case, number of unknown variables is very small.
Quote:
Last edited by Toni Wilen; 10 January 2015 at 13:44. |
|
![]() |
![]() |
#39 |
Phone Homer
Join Date: Jun 2006
Location: 5150
Posts: 5,823
|
Not sure its relevant I tried all the A-Max 1 from the A-Max Official homepage that I assume are cracked and always got sad mac.
In the Zone is A-Max II crack by Prime Evil clicking the large A-Max icon (not the icons in the drawers) Seems to start A-Max V1 ? successfully - Dont know if this is A-Max 1 or A-Max 2 V1? Sorry - Yes I think this is A-Max 1 System 4.3 seems to boot but 6.0.5 for me seems to go bonkers at the Welcome to Mac screen Also A-Max V4 I think doesnt require the AMHD files. Last edited by Retro1234; 10 January 2015 at 19:23. |
![]() |
![]() |
#40 | |
Registered User
Join Date: Aug 2004
Location:
Posts: 3,351
|
Quote:
The same AutoConfig manufacturer/product is shown for both series I and II A3001 cards on amiga.resource.cx. Not sure if that's correct, though maybe the driver determines the hardware version in some other way. gvpat.amhd's detection code checks for products 8, 10 and 13. The version of the a3001 boot ROM on Ralph Babel's site is 3.3. I had assumed that was the latest one; where did you get 4.1 from? Ralph Babel posted a GVP FAQ in 1992 which listed the then-current version of gvpat.device as 3.3. I downloaded the v3.3 hex file from his site, converted it to binary and loaded into ReSource, but the first ~$600 bytes or so seem garbage/corrupted??? |
|
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
WinUAE Amax and .amhd | Gilloo | request.Apps | 3 | 15 July 2014 05:35 |
Wtb Amax 2,5 | bigmac | MarketPlace | 0 | 23 March 2010 15:11 |
Personal project: EEEPC, Gamebase and WINAUE: problems problems | butter100fly | project.GameBase Amiga | 15 | 09 August 2009 10:51 |
AMAX 2.5 File Transfer 2.5? | Amiga-emuman | request.Apps | 10 | 23 August 2006 07:57 |
GUI refresh problems + OpenGL Speed Problems in 0.821r4 | Danny Bacon | support.WinUAE | 1 | 07 June 2002 18:57 |
|
|