14 July 2019, 12:09 | #1 |
Registered User
Join Date: Dec 2008
Location: Ursviken
Posts: 137
|
Grab ROM from expansion board ?
Is there (there probably is, but I cannot find it) a ready-made tool for grabbing the ROM from any expansion board, giving parameters as start address, size and file name ?
I could probably write one myself if I dust off my old (like 25+ years since) assembly language knowledge.. Trying to get along with a Grandslam controller that refuses to autoboot, want to grab the ROM to compare it to the already grabbed 4.9 (by Stone). The suggested tool "expdump" does not dump anything except the start address, size and some other info (not the ROM code). I also have some of the hardware on the "wanted roms" list, both Trumpcard AT and Trifecta 500 LX. Have not started these up yet, have to take care of the disks in them first. |
14 July 2019, 12:30 | #2 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
There is no easy automatic way because ROM size can't be detected automatically and accidentally accessing IO space can hang the system. Sometimes rom offset isn't pointing at the start of ROM. Actual ROM size does not necessarily match mapped space, for example it is common to have 2 banks in ROM, one for autoboot enabled and another for autoboot disabled jumper state.
Manual way is easy enough with any monitor program (like mon165.lha from Aminet), "] <start> <length> <name>" to save address space to a file. No need for separate program. It can be also used to examine the ROM space easily with m -command. GrandSlam ROM is mapped at board base + $8000. Attach expdump from other boards, thanks. Trifecta ROM is still MIA, Trumpcard AT two different versions are already dumped but there can be others. |
14 July 2019, 12:48 | #3 |
Registered User
Join Date: Dec 2008
Location: Ursviken
Posts: 137
|
I was not looking for the easy, automatic way, but just any way
mon165 might do it easy enough, but this functionality could easily be added to expdump. I think even AsmOne can do that on the command line, but it is a long time since I programmed on the Amiga. The output from expdump with Oktagon 2008 attached to the A500 (using the Grandslam expansion box, to check that interface), gave me start: 00e90000, size: 00010000 (64k). |
14 July 2019, 13:11 | #4 | ||
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
Quote:
Quote:
Usually ROM start is same as exp dump er_InitDiagVec (offset from start of board) and size is either 8k, 16k or 32k. |
||
14 July 2019, 13:18 | #5 | |
Registered User
Join Date: Dec 2008
Location: Ursviken
Posts: 137
|
Quote:
BoardAddr : 00e90000 BoardSize : 00010000 er_Type : d1 er_Product : 05 er_Flags : 00 er_Reserved03 : 00 er_Manufacturer : 082c er_SerialNumber : 00000000 er_InitDiagVec : 0001 {0xd1,0x05,0x00,0x00,0x08,0x2c,0x00,0x00,0x00,0x00,0x00,0x01} InitDiagVec = 1, this means offset = 0 (and start = BoardAddr) ? Just crashed (as you said) on dumping 64k from the start address. Best option could be to try dumping in 8,16,32 etc up to "BoardSize" until crash. |
|
14 July 2019, 13:25 | #6 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
Strange. Diagvec should be 0100 for Oktagon.
Oktagon also has quite special ROM mapping, it is in two parts with different mapping. It is not a good HD controller for testing ROM dumping. |
14 July 2019, 13:36 | #7 |
Registered User
Join Date: Dec 2008
Location: Ursviken
Posts: 137
|
Dumping Oktagon crashed at 8k.. Successfully dumped 4k, but got only (what I think is) garbage.. Have to try with Gransdlam now that I know the tool.
|
14 July 2019, 14:00 | #8 |
Registered User
Join Date: Dec 2008
Location: Ursviken
Posts: 137
|
Forgot the upload button on the attachment
Grandslam, 32k extracted from offset $8000. BoardAddr : 00e90000 BoardSize : 00010000 er_Type : d1 er_Product : 34 er_Flags : 00 er_Reserved03 : 00 er_Manufacturer : 0840 er_SerialNumber : 00000000 er_InitDiagVec : 8000 {0xd1,0x34,0x00,0x00,0x08,0x40,0x00,0x00,0x00,0x00,0x80,0x00} |
14 July 2019, 14:07 | #9 |
Registered User
Join Date: Dec 2008
Location: Ursviken
Posts: 137
|
Looks like I got nothing than trash in the dump again (nothing ASCII-readable like the 4.9 bootrom grabbed by Stone)
|
14 July 2019, 14:43 | #10 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
Quote:
"Unfortunately" your dump is identical to already dumped v4.9. |
|
15 July 2019, 08:23 | #11 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
Quote:
$0000-$0fff: 4096 bytes of even only ROM data (2048 ROM total) $1000-$1fff: don't touch $2000-$fffff: 57344 bytes of odd only ROM data (28672 ROM bytes) I can create single ROM image if you dump first and last space. $2000+ space will hit some IO addresses but it shouldn't cause hangs. ROM/IO mapping is rarely as complex as in Oktagon. But it probably is more optimal to check the device version first: "version oktagon.device" Assuming first board: ] e90000 1000 ram:rom1.bin ] e92000 e000 ram:rom2.bin btw, Trifecta please, it is the most interesting one EDIT: Your 4k Oktagon dump after splitting is identical to beginning of 6.12 ROM. But because it is only "loader" part, main rom part can be different. Last edited by Toni Wilen; 15 July 2019 at 14:02. |
|
15 July 2019, 19:59 | #12 |
Registered User
Join Date: Dec 2008
Location: Ursviken
Posts: 137
|
"Really soon now"
|
15 July 2019, 21:06 | #13 |
Registered User
Join Date: Dec 2008
Location: Ursviken
Posts: 137
|
I mean.. really soon
Did two dumps, starting from e90000+10000 and e91000+10000, no crash even with that dumping before InitDiagVec (and maybe overdumping with the start from e91000) |
15 July 2019, 21:14 | #14 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
Thanks! Does the board work? ROM dump can't be valid, same 64-byte pattern repeats 4 times (after splitting odd and even bytes). Perhaps ROM chip or A500 side connector has contact problems.
Code:
00001c00h: 00 06 00 BF E0 01 67 F6 20 1F 4E 75 2F 0B 26 6F ; ...¿à.gö .Nu/.&o 00001c10h: 00 08 41 FA 00 08 26 88 26 5F 4E 75 00 24 56 45 ; ..Aú..&ˆ&_Nu.$VE 00001c20h: 52 3A 20 74 72 69 66 65 63 74 61 2E 64 65 76 69 ; R: trifecta.devi 00001c30h: 63 65 20 76 34 2E 33 72 31 00 64 6F 73 2E 6C 69 ; ce v4.3r1.dos.li 00001c40h: 00 06 00 BF E0 01 67 F6 20 1F 4E 75 2F 0B 26 6F ; ...¿à.gö .Nu/.&o 00001c50h: 00 08 41 FA 00 08 26 88 26 5F 4E 75 00 24 56 45 ; ..Aú..&ˆ&_Nu.$VE 00001c60h: 52 3A 20 74 72 69 66 65 63 74 61 2E 64 65 76 69 ; R: trifecta.devi 00001c70h: 63 65 20 76 34 2E 33 72 31 00 64 6F 73 2E 6C 69 ; ce v4.3r1.dos.li 00001c80h: 00 06 00 BF E0 01 67 F6 20 1F 4E 75 2F 0B 26 6F ; ...¿à.gö .Nu/.&o 00001c90h: 00 08 41 FA 00 08 26 88 26 5F 4E 75 00 24 56 45 ; ..Aú..&ˆ&_Nu.$VE 00001ca0h: 52 3A 20 74 72 69 66 65 63 74 61 2E 64 65 76 69 ; R: trifecta.devi 00001cb0h: 63 65 20 76 34 2E 33 72 31 00 64 6F 73 2E 6C 69 ; ce v4.3r1.dos.li 00001cc0h: 00 06 00 BF E0 01 67 F6 20 1F 4E 75 2F 0B 26 6F ; ...¿à.gö .Nu/.&o 00001cd0h: 00 08 41 FA 00 08 26 88 26 5F 4E 75 00 24 56 45 ; ..Aú..&ˆ&_Nu.$VE 00001ce0h: 52 3A 20 74 72 69 66 65 63 74 61 2E 64 65 76 69 ; R: trifecta.devi 00001cf0h: 63 65 20 76 34 2E 33 72 31 00 64 6F 73 2E 6C 69 ; ce v4.3r1.dos.li 00001d00h: 17 7C 00 04 00 08 42 AB 00 0A 93 C9 2C 78 00 04 ; .|....B«..“É,x.. 00001d10h: 4E AE FE DA 27 40 00 10 42 2B 00 0E 41 EB 00 14 ; N®þÚ'@..B+..Aë.. |
15 July 2019, 22:05 | #15 |
Registered User
Join Date: Dec 2008
Location: Ursviken
Posts: 137
|
It works, at least the memory expansion (8MB) passed fully, which makes sure that the side connector is ok.
Might be something with the dump done with the HDD enable switch turned off.. I'll do another dump with the switch in the on-position. |
15 July 2019, 22:18 | #16 |
Registered User
Join Date: Dec 2008
Location: Ursviken
Posts: 137
|
Big difference (in compressed file size).. HDD enabled, and I also had to connect one drive to make it past waiting.. Took the drive prepped with TCUtils that I booted on Oktagon as well, boots up fine with the Trifecta.
|
15 July 2019, 22:24 | #17 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
Now it looks correct!
Code:
00001ce0h: 52 3A 20 74 72 69 66 65 63 74 61 2E 64 65 76 69 ; R: trifecta.devi 00001cf0h: 63 65 20 76 34 2E 33 72 31 00 64 6F 73 2E 6C 69 ; ce v4.3r1.dos.li 00001d00h: 62 72 61 72 79 00 46 69 6C 65 53 79 73 74 65 6D ; brary.FileSystem 00001d10h: 2E 72 65 73 6F 75 72 63 65 00 74 72 69 66 65 63 ; .resource.trifec 00001d20h: 74 61 2E 64 65 76 69 63 65 00 46 61 73 74 46 69 ; ta.device.FastFi 00001d30h: 6C 65 53 79 73 74 65 6D 00 00 65 78 70 61 6E 73 ; leSystem..expans 00001d40h: 69 6F 6E 2E 6C 69 62 72 61 72 79 00 74 69 6D 65 ; ion.library.time 00001d50h: 72 2E 64 65 76 69 63 65 00 00 49 43 44 44 65 76 ; r.device..ICDDev 00001d60h: 54 61 73 6B 00 00 49 43 44 44 65 76 50 72 6F 63 ; Task..ICDDevProc 00001d70h: 00 00 74 72 61 63 6B 64 69 73 6B 2E 64 65 76 69 ; ..trackdisk.devi 00001d80h: 63 65 00 00 44 46 30 3A 00 00 74 72 69 66 65 63 ; ce..DF0:..trifec 00001d90h: 74 61 2E 52 6F 6D 54 61 67 00 49 43 44 20 54 72 ; ta.RomTag.ICD Tr 00001da0h: 69 66 65 63 74 61 20 64 69 73 6B 20 64 65 76 69 ; ifecta disk devi 00001db0h: 63 65 00 00 48 E7 01 12 26 6F 00 10 2E 2F 00 14 ; ce..Hç..&o.../.. I'll upload merged version tomorrow, it is getting late.. |
15 July 2019, 23:01 | #18 |
Registered User
Join Date: Dec 2008
Location: Ursviken
Posts: 137
|
Pretty fast with that old Seagate Barracuda 2.1GB (ST32550M)..
http://peo.yliniemi.se/amiga/HD/DiskSpeed-Trifecta.txt |
16 July 2019, 08:52 | #19 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
Split ROM image now in the zone expansion rom archive and quick emulation check seems to confirm it is valid (both SCSI and IDE drive is detected, SCSI emulation needs some fixes first before it can boot)
Trifecta SCSI controller is DMA capable which makes test results quite nice, especially CPU usage. IDE is usual PIO. EDIT: autoboot off switch probably messes up the ROM addressing instead of disabling it. I guess they run out of chip logic space.. Last edited by Toni Wilen; 16 July 2019 at 09:42. |
16 July 2019, 21:09 | #20 |
Registered User
Join Date: Dec 2008
Location: Ursviken
Posts: 137
|
Oktagon ROM part1 + part2 attached.
Also did the DiskSpeed run on Oktagon, same disk, and FastRAM with Supra 500RX. (Standard A500, Supra 500RX, Grandslam expansion box, Oktagon 2008, Seagate Barracuda ST32550M) http://peo.yliniemi.se/amiga/HD/DiskSpeed-Oktagon.txt (about half the speed of Trifecta) Last edited by peo; 16 July 2019 at 21:10. Reason: added link to DiskSpeed result |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Advanced UAE expansion board/Boot ROM Settings | DaMi | support.WinUAE | 3 | 16 November 2017 13:54 |
What is this expansion board? | Sanxion | support.Hardware | 7 | 10 September 2017 21:46 |
What kind of expansion board is that ? | salocinx | Hardware pics | 12 | 01 January 2015 09:29 |
Tell me about my expansion board. | gazj82 | support.Hardware | 7 | 22 March 2014 23:25 |
How can I grab the kick.rom from my A3000 with 68040 board? | kplo | New to Emulation or Amiga scene | 2 | 26 March 2011 05:28 |
|
|