English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 07 January 2015, 21:25   #21
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,351
Quote:
Does Amax have any ide driver(s)?
Probably not for the A600/1200/4000 IDE, but there are gvpat.amhd (IDE on older GVP accelerators) and icddiskide.amhd (ICD AdIDE I assume).

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
		...
Attached Files
File Type: zip scsi.amhd_1993-04-26.zip (1.9 KB, 104 views)
mark_k is offline  
Old 08 January 2015, 09:21   #22
Toni Wilen
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.
Toni Wilen is offline  
Old 08 January 2015, 14:40   #23
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,351
Quote:
Originally Posted by Boo Boo View Post
Sorry to but in -Still intrested in the old Amax - especially the 2.x versions that work on 68000
Ive got a little confused did you guys get in Working?
as far as I know there are no AMHD IDE drivers - Well none that would work on my A600
Sadly I think that's true.

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.
mark_k is offline  
Old 08 January 2015, 14:51   #24
Toni Wilen
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.
Toni Wilen is offline  
Old 08 January 2015, 14:53   #25
Retro1234
Phone Homer
 
Retro1234's Avatar
 
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.
Retro1234 is offline  
Old 08 January 2015, 18:43   #26
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,351
Quote:
Originally Posted by Toni Wilen View Post
I can take a quick look if resourced gvpat.amhd is available. (Of course I am too lazy to do it!)
ReSource .rs file attached. Very sparsely commented (hardly at all for IDE access stuff), so may not be much help.
Attached Files
File Type: zip gvpat.amhd.rs.zip (4.0 KB, 98 views)
mark_k is offline  
Old 08 January 2015, 20:10   #27
Toni Wilen
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)
Toni Wilen is offline  
Old 08 January 2015, 20:39   #28
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,351
Here you go.
Attached Files
File Type: zip gvpat.amhd.asm.zip (2.1 KB, 105 views)
mark_k is offline  
Old 08 January 2015, 20:59   #29
Toni Wilen
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.
Toni Wilen is offline  
Old 08 January 2015, 21:48   #30
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,351
Slightly improved disassembly attached.
Edit: better version with both .rs and .asm attached too.
Attached Files
File Type: zip gvpat.amhd.rs_ver2.zip (4.5 KB, 89 views)
File Type: zip gvpat.amhd_disasm_ver3.zip (8.3 KB, 100 views)

Last edited by mark_k; 08 January 2015 at 22:33.
mark_k is offline  
Old 09 January 2015, 04:54   #31
rhester72
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
rhester72 is offline  
Old 09 January 2015, 09:19   #32
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,574
Code:
	LEA	($7D,A3),A2	;Point to status register
I think this is alternate status/device control register (same as status but read won't clear interrupt).

$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
Write to $7d = device control which only has 2 bits, reset and interrupt enable.

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
Base address + $40 most likely is board's interrupt status register, bit 15 = ide interrupt active, if set, clear IDE interrupt by reading normal IDE status register. Practically only missing register/bit is board's interrupt enable bit but it should be easily found by checking what gvpat.device does.

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:
Originally Posted by rhester72 View Post
You realize, of course, that if you emulate AdIDE, you're going to have to emulate AdSpeed, too. <G>
No comments.

(But I don't remember seeing adide roms anywhere yet)
Toni Wilen is offline  
Old 09 January 2015, 10:18   #33
voxel
Amiga Nuts!
 
voxel's Avatar
 
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 ?
voxel is offline  
Old 09 January 2015, 11:13   #34
Toni Wilen
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.
Toni Wilen is offline  
Old 09 January 2015, 21:11   #35
Toni Wilen
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.
Toni Wilen is offline  
Old 10 January 2015, 09:47   #36
Toni Wilen
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.
Toni Wilen is offline  
Old 10 January 2015, 13:27   #37
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,351
Quote:
Originally Posted by Toni Wilen View Post
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?)
Maybe it'd be worth creating a blank HDF, partitioning it with GVP's own software, and see whether that still crashes.

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.
mark_k is offline  
Old 10 January 2015, 13:33   #38
Toni Wilen
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:
Maybe it'd be worth creating a blank HDF, partitioning it with GVP's own software, and see whether that still crashes.
Perhaps but it makes no sense that old version works fine, only newer version fails. I did debug it a bit more and it seems to use uninitialized stack variable (or some index is out of bounds).

Last edited by Toni Wilen; 10 January 2015 at 13:44.
Toni Wilen is offline  
Old 10 January 2015, 19:04   #39
Retro1234
Phone Homer
 
Retro1234's Avatar
 
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.
Retro1234 is offline  
Old 10 January 2015, 19:27   #40
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,351
Quote:
Originally Posted by Toni Wilen View Post
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.
Isn't the 3.x/4.x thing for series I and II SCSI cards, not the A3001s?

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???
mark_k is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
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

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 18:12.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.12234 seconds with 14 queries