English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 12 September 2011, 22:56   #1
pucci
Registered User
 
Join Date: Sep 2011
Location: Rimini / Italy
Posts: 68
CD32 ROM (KS + extended) REAL DUMP

this roms have part number 391640-03
the MAME cd32 bios have this name: 391640-03.u6a
but the CRC are different:
d3837ae4 (MAME)
a4fbc94a (WINUae)

why?
pucci is offline  
Old 13 September 2011, 08:25   #2
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
WinUAE checksum is from real CD32 ROM (this is rare). KS and extended parts are interleaved, not just appended.
Toni Wilen is offline  
Old 13 September 2011, 19:25   #3
pucci
Registered User
 
Join Date: Sep 2011
Location: Rimini / Italy
Posts: 68
what type of interleaved is used?

i tried with this two roms:
- CD32 ROM (KS + extended) (from WINUAE bios)
- 391640-03.u6a (from MAME cd32 bios)

1) split original roms in two parts: ORIGINAL -> A + B
2) interleaved mixing (using mix2.exe) of A + B = C
3) interleaved mixing (using mix2.exe) of B + A = D

neither C or D are correct
pucci is offline  
Old 13 September 2011, 19:33   #4
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
It is different than normal interleave:

A = KS ROM
B = EXT ROM

byte 1 of A
byte 0 of A
byte 1 of B
byte 0 of B
byte 3 of A
byte 2 of A
byte 3 of B
...
Toni Wilen is offline  
Old 13 September 2011, 20:58   #5
pucci
Registered User
 
Join Date: Sep 2011
Location: Rimini / Italy
Posts: 68
i tried with the utility INTERL.EXE (found on this forum) that does the correct interleave.

i test it with two dummy file:
FILE1 -> 0A 1A 2A 3A
FILE2 -> 0B 1B 2B 3B
INTERL FILE1 FILE2 FILE3
FILE3 -> 1A 0A 1B 0B 3A 2A 3B 2B

so i think that INTERL.EXE is the right tool

but INTERL "CD32 KS ROM v3.1 (1e62d4a5)" "CD32 extended ROM (87746be2" "CD32 ROM (KS + extended) REAL DUMP"
give me a wrong CRC32 (c9da5a71 instead of a4fbc94a)
pucci is offline  
Old 14 September 2011, 19:19   #6
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
What if you switch ROMs? (EXT first and then KS)
Toni Wilen is offline  
Old 14 September 2011, 20:14   #7
pucci
Registered User
 
Join Date: Sep 2011
Location: Rimini / Italy
Posts: 68
first (trivial) discovery

CD32 ROM (KS + extended) (CRC32 f5d4f3c8) [taken from winuae recognized bios - ID 64]
and
391640-03.u6a rom (CRC32 d3837ae4) [taken from MAME CD32 bios]

are the same roms with half split parts inverted

CD32 ROM (KS + extended) first half --> CRC32 87746be2
CD32 ROM (KS + extended) second half --> CRC32 1e62d4a5

391640-03.u6a first half --> CRC32 1e62d4a5
391640-03.u6a second half --> CRC32 87746be2

and winuae recognized bios
CD32 KS ROM v3.1 [ID 18] --> CRC32 1e62d4a5
CD32 extended ROM [ID 19] --> CRC32 87746be2
have the same CRC32 of half parts of the two roms above (391640-03.u6a and CD32 ROM (KS + extended))

if i try this:

INTERL "CD32 ROM (KS + extended) first half" "CD32 ROM (KS + extended) second half" result
result CRC32 is 4bbf6acc

and if i try this:

INTERL "CD32 ROM (KS + extended) second half" "CD32 ROM (KS + extended) fisrt half" result
result CRC32 is c9da5a71

the correct CRC32 for CD32 ROM (KS + extended) REAL DUMP is a4fbc94a

maybe the problem is with INTERL? i think it use byte of 16 bits, maybe i must try an interleaving with byte of 8 bits?
pucci is offline  
Old 17 September 2011, 16:00   #8
pucci
Registered User
 
Join Date: Sep 2011
Location: Rimini / Italy
Posts: 68
no clue to solve this problem?
pucci is offline  
Old 17 September 2011, 21:51   #9
pucci
Registered User
 
Join Date: Sep 2011
Location: Rimini / Italy
Posts: 68
Quote:
Originally Posted by Toni Wilen View Post
It is different than normal interleave:

A = KS ROM
B = EXT ROM

byte 1 of A
byte 0 of A
byte 1 of B
byte 0 of B
byte 3 of A
byte 2 of A
byte 3 of B
...
can INTRL.EXE do this interleaving? YES









so, let's try with real CD32 Roms



CD32 KS ROM v3.1 - CRC32 1E62D4A5



CD32 extended ROM - CRC32 87746BE2



INTERL CD32 KS ROM v3.1 + CD32 extended ROM



Bad checksum: i got C9DA5A71 instead of A4FBC94A



INTERL CD32 extended ROM + CD32 KS ROM v3.1



Bad checksum: i got 4BBF6ACC instead of A4FBC94A



CD32 ROM (KS + extended) REAL DUMP definition taken from WinUAE source

so i think that this

Code:
A = KS ROM
B = EXT ROM

byte 1 of A
byte 0 of A
byte 1 of B
byte 0 of B
byte 3 of A
byte 2 of A
byte 3 of B
is not the correct interleave
pucci is offline  
Old 18 September 2011, 09:06   #10
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
Your program isn't interleaving correctly. Check your screenshots, they show duplicate pairs (1411 1411 F94E F94E..)

Correct first 16 bytes:

14 11 F8 00 00 00 28 00 FC 4A 10 00 6A 01 31 08
Toni Wilen is offline  
Old 18 September 2011, 09:52   #11
pucci
Registered User
 
Join Date: Sep 2011
Location: Rimini / Italy
Posts: 68
Quote:
Originally Posted by Toni Wilen View Post
Your program isn't interleaving correctly. Check your screenshots, they show duplicate pairs (1411 1411 F94E F94E..)

Correct first 16 bytes:

14 11 F8 00 00 00 28 00 FC 4A 10 00 6A 01 31 08




you said that correct interleaving is:

Code:
A = KS ROM
B = EXT ROM

byte 1 of A
byte 0 of A
byte 1 of B
byte 0 of B
byte 3 of A
byte 2 of A
byte 3 of B
byte 1 of KS ROM --> 14
byte 0 of KS ROM --> 11
byte 1 of EXT ROM --> 14
byte 0 of EXT ROM --> 11
byte 3 of KS ROM --> F9
byte 2 of KS ROM --> 4E
byte 3 of EXT ROM --> F9
byte 2 of EXT ROM --> 4E

RESULT: 14 11 14 11 F9 4E F9 4E

if you see image above, the INTERL does the correct interleaving as you said because first 7 bytes of CD32 KS ROM v3.1 and CD32 extended ROM are eguals (and so it's normal that result have duplicate pairs)

the correct first 16 bytes that you reported is:

14 - byte 1 of B
11 - byte 0 of B
F8 - byte 5 of B
00 - byte 4 of B
00 - byte 9 of B
00 - byte 8 of B
28 - byte 13 of B
00 - byte 12 of B
FC - byte 17 of B
4A - byte 16 of B
10 - byte 21 of B
00 - byte 20 of B
6A - byte 25 of B
01 - byte 24 of B
31 - byte 29 of B
08 - byte 28 of B

so i think that this is the correct interleaving:

all first 16 bytes are taken from file B (CD32 extended ROM) in this sequence: 1 0 5 4 9 8 13 12 17 16 21 20 25 24 29 28
in other shape:
FOR x=0 TO ... DO takebyte(1+x*4) takebyte(0+x*4)

now, when first 262144 bytes are taken from file B, how the seguence goes on?
- same sequence form file A?
- remaining bytes form file B?
...
pucci is offline  
Old 18 September 2011, 10:28   #12
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
I guess I misunderstood or explained badly or something (This is very uninteresting topic, why do you need to create this ROM image?)

Above was DeInterleave method (algorithm that WinUAE uses to create "normal" 2x internal ROM images from official CD32 ROM image)
Toni Wilen is offline  
Old 18 September 2011, 11:12   #13
pucci
Registered User
 
Join Date: Sep 2011
Location: Rimini / Italy
Posts: 68
Thanks for the info Toni, in the meantime i solved the mistery by myself:

take CD32 extended ROM and do this:
FOR x=0 TO 65535 DO takebyte((x*4)+1) takebyte((x*4)+0)
the result is file A

take CD32 KS ROM v3.1 and do this:
FOR x=0 TO 65535 DO takebyte((x*4)+1) takebyte((x*4)+0)
the result is file B

take CD32 extended ROM and do this:
FOR x=0 TO 65535 DO takebyte((x*4)+3) takebyte((x*4)+2)
the result is file C

take CD32 KS ROM v3.1 and do this:
FOR x=0 TO 65535 DO takebyte((x*4)+3) takebyte((x*4)+2)
the result is file D

binary copy A+B+C+D and the result is REAL CD32 Rom dump

i put in The Zone! a zip file (REAL_CD32_CONVERTER.ZIP) that automates the process (you must only supply plain CD32 rom named as "CD32.ROM" and you will get "CD32REAL.ROM")

Thanks again for the info and for the help, i think that all topic are interesting if they help to better understand the operation of the emulator or real Amiga hardware
pucci is offline  
Old 25 October 2011, 16:31   #14
draxx
 
Posts: n/a
Hi, can the file REAL_CD32_CONVERTER.ZIP be attached to this thread or re-uploaded to the Zone?

EDIT: Nevermind, found it!
 
Old 25 October 2011, 19:36   #15
pucci
Registered User
 
Join Date: Sep 2011
Location: Rimini / Italy
Posts: 68
Quote:
Originally Posted by draxx View Post
Hi, can the file REAL_CD32_CONVERTER.ZIP be attached to this thread or re-uploaded to the Zone?

EDIT: Nevermind, found it!
where do you found?
pucci is offline  
Old 12 June 2019, 22:50   #16
digiflip
Registered User
 
digiflip's Avatar
 
Join Date: Apr 2011
Location: Nottingham, United Kingdom
Posts: 142
has anyone using this tool mentioned in thread made a custom cd32 3.1.4 rom?
digiflip is offline  
Old 13 June 2019, 00:56   #17
quantum8
Registered User
 
Join Date: Jun 2019
Location: BNE AU
Posts: 216
I asked this question on other forums but no-one seemed interested as apparently 3.1.4 removed support for C2P routines or something along those lines.
quantum8 is offline  
Old 13 June 2019, 20:37   #18
midimax
Registered User
 
Join Date: Aug 2014
Location: Germany
Posts: 53
3.1.4 does (unfortunately) not support CD32 first of all.
midimax is offline  
Old 10 June 2021, 18:52   #19
reinauer
Registered User
 
reinauer's Avatar
 
Join Date: Jan 2020
Location: Mountain View, California
Posts: 56
Thanks to LIV2, this srec_cat call produces the right image:

srec_cat Kick31.rom -Binary -Byte_Swap -Split 4 0 2 -Offset 0x40000 \
Kick31.rom -Binary -Byte_Swap -Split 4 2 2 -Offset 0xC0000 \
Extended.rom -Binary -Byte_Swap -Split 4 0 2 -Offset 0x00000 \
Extended.rom -Binary -Byte_Swap -Split 4 2 2 -Offset 0x80000 \
-Output KS31_CD32.rom -Binary
reinauer is offline  
Old 13 June 2021, 12:54   #20
RoC
Registered User
 
Join Date: May 2011
Location: Italy
Posts: 214
CD32 ROM (KS + extended) REAL DUMP

Yesterday I decided to test the KS 3.2 on the CD32. So far, no success on the real hardware, but it works on WinUAE. I am fully aware this approach is not supported, therefore consider this as a kind of test

These are the findings, in case they could be somehow useful:

- With the new Remus, started from the A1200 KS32 modules and replaced the exec with the one on the CD32's adf. I am not sure whether there are other modules to be added/replaced.
- Combined the above 512KB with the 512KB CD32 3.1 extended rom.
- The LIV2 script that reinauer posted works just fine. Thanks. I downloaded the Windows 10 flavour of the srec_cat and removed the back-slashes
- I later noticed that the Eprom Tool v 0.90 includes a juicy "Create Amiga CD32 rom" which performs the same with a couple of clicks. In my case, both approaches returned a 1MB rom with CRC 65DE0458.

The 1MB CD32 KS 3.2 works on WinUAE. I pointed WinUAE to that as a single 1MB rom without extended one. It shows the CD32 splash screen and then boot to the Workbench 3.2. I didn't test more than that, so there might be something else not working.

The problem is now to burn the physical rom. It seems to me that the rom should be divided in half (I mean not ODD and EVEN) and then these two half should be byte-swapped before burning them on the 27C800 respectivelly as bank #0 and bank #1. However this does not work. I don't really know what the usual "HI/LO split" does so I am going to investigate. Will test more in the coming days and possibly try HxD to manually cut in half.

Edit #1:

Physical kickstart shows the splash screen :-) It doesn’t require an additional byteswap and the two banks have to be exchanged from what the tool proposes. Now it doesn’t boot the TF330, so investigating what else is required (beside cd32 exec) in Remus.

Edit #2:
For the record, I managed to make it work on the CD32 with the TF. Apparently, the problem was to create the extended one with Remus as well ( I was using the original 40.60 before).

Last edited by RoC; 21 June 2021 at 20:50.
RoC 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
CD32 emulation with real CD-ROM phoenixkonsole support.FS-UAE 1 29 January 2013 21:02
Extended adf to a real amiga floppy Fabie New to Emulation or Amiga scene 6 06 November 2009 22:41
CD32 kickstart rom & extended rom ben111g Amiga scene 1 24 February 2007 13:56
Why does CD32-Extended-ROM make UAE CRASH ?? Leo42 support.WinUAE 7 19 July 2003 16:31
Extended CD32 Rom Lecarnus New to Emulation or Amiga scene 1 30 December 2002 01:54

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 02:38.

Top

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