MAMEWorld >> Programming
Previous thread Previous  View all threads Index   Next thread Next   Threaded Mode Threaded  

Pages: 1

f4brice
MAME & PCB Fan
Reged: 04/03/10
Posts: 13
Loc: France
Send PM


Need ROM_LOAD_NIB_HIGH and ROM_LOAD16_BYTE
#219560 - 04/12/10 11:54 PM


Hi all.

I'm currently trying to add to Mame a new game called "Space Ship" from Sega.
Game is a clone of Cinematronic's Space Wars.
Probably Sega bought a license to Cinematronic.
As far as I known, I own the only known cabinet.
I finished to dump all bipolar PROMs today.
Check this message.

PCB is extremely closed to a CCPU with some differences in :
- one CCPU PROM content (it does not affect CCPU behavior)
- chips used to store program code : SEGA uses 8 chips of 1024 x 4 bits (Cinematronic uses 2 chips of 8 bits).

There are also some minor (but real) differences in game. play.

Here is my question :
CCPU uses a 16 bits wide data bus.
For example, in spacewar, Cinematrinics uses two 8 bits-wide chips.
In spacewar's ROM settings, the ROM_LOAD16_BYTE macro is used twice so that 1 file is loaded at even addresses and an other file is loaded at odd addresses.

But for Space Ship, for the same kind of result, Sega uses eight 4 bits-wide chips.
It means that :
- high nibble of even bytes are stored in file #1
- low nibble of even bytes are stored in file #2
- high nibble of odd bytes are stored in file #3
- low nibble of odd bytes are stored in file #4
There are file #5 to file #8 used for the 2nd part of the address space.

How can I used a mix of ROM_LOAD_NIB_HIGH and ROM_LOAD16_BYTE ?
What I need is :
- "ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(1)"
- "ROM_NIBBLE | ROM_SHIFT_NIBBLE_LO | ROM_SKIP(1)"

There is no "ROM_LOAD_xxxx" macro that fits Sega's design for memory layout.

What should I do ?
a) use directly macro ROMX_LOAD() with the correct arguments ?
b) create 2 new macros in romload.h ?
c) merge PROM dumps to have 8 bits dumps (but it's not accurate and does not match the real hardware)

Thanks for your help.

Regards,

Fab



Phil Bennett
L'Emuchat
Reged: 04/20/04
Posts: 888
Send PM


Re: Need ROM_LOAD_NIB_HIGH and ROM_LOAD16_BYTE new [Re: f4brice]
#219597 - 04/13/10 04:53 PM


> How can I used a mix of ROM_LOAD_NIB_HIGH and ROM_LOAD16_BYTE ?
> What I need is :
> - "ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(1)"
> - "ROM_NIBBLE | ROM_SHIFT_NIBBLE_LO | ROM_SKIP(1)"
>
> There is no "ROM_LOAD_xxxx" macro that fits Sega's design for memory layout.
>
> What should I do ?
> a) use directly macro ROMX_LOAD() with the correct arguments ?

Yes, that's fine.



f4brice
MAME & PCB Fan
Reged: 04/03/10
Posts: 13
Loc: France
Send PM


Yet an other set of (small) questions... new [Re: f4brice]
#219666 - 04/14/10 08:54 AM


Hi all.

I could have the game work.
It was not really a bid deal because 99.999% of the job was already done (CCPU emulator, ...).

Before submiting my changes to the dev team, I'd like to check some arbitrary choices I made...

1. driver name
Game is named "Space Ship", and I choose "spaceshi" as driver name. Everybody is happy with it ?

2. file names in .zip file
I tried to follow Sega games naming convention in Mame.
I used "sega_reference_for_prom DOT chip_number_on_pcb".
On the Space Ship PCB, Sega uses a single "chip counter" to identify chips (IC1 to IC140) ; on more recent PCB, Sega uses "line/column" locating convention.
It gives :
pr03.85 <= chip labelled "PR03" by Sega, located at "IC85" on PCB
pr17.138 <= chip labelled "PR17" by Sega, located at "IC138" on PCB
I noticed that later Sega will use "EPR-xxxx" (with a "-") but there's not "-" sign on Space Ship PROMs (except two of them)



3. Mame-"useless" CCPU PROM dumps
There are 6 PROMs used only for internal CCPU control.
They are useless for Mame.
Should them be referenced by the driver ?
I think "yes", because it is done in this way for spacewar.

4. Redundant CCPU PROM dumps
5 of the 6 PROMs for CCPU internal control are exact bit-to-bit copy of Cinematronic's PROMs for CCPU.
Only chip reference (on Sega naming convention and on PCB) are different.
Should these 5 files be in the .zip file ?
One Sega CCPU PROM is different from Cinematronic.
I'm sure it is not a dump error, neither a partialy dead chip.
Differences are in bits that don't affect CCPU behavior.
For example, while reading an input, Sega does not select some chips just before the ALU heart of the CCPU.
Should this file be present in the .zip ?

Regards,

Fab



Phil Bennett
L'Emuchat
Reged: 04/20/04
Posts: 888
Send PM


Re: Yet an other set of (small) questions... new [Re: f4brice]
#219670 - 04/14/10 11:21 AM


> Before submiting my changes to the dev team, I'd like to check some arbitrary choices
> I made...
>
> 1. driver name
> Game is named "Space Ship", and I choose "spaceshi" as driver name. Everybody is
> happy with it ?

I'd choose spaceshp personally - it's a matter of taste.


> 2. file names in .zip file
> I tried to follow Sega games naming convention in Mame.
> I used "sega_reference_for_prom DOT chip_number_on_pcb".
> On the Space Ship PCB, Sega uses a single "chip counter" to identify chips (IC1 to
> IC140) ; on more recent PCB, Sega uses "line/column" locating convention.
> It gives :
> pr03.85 <= chip labelled "PR03" by Sega, located at "IC85" on PCB
> pr17.138 <= chip labelled "PR17" by Sega, located at "IC138" on PCB
> I noticed that later Sega will use "EPR-xxxx" (with a "-") but there's not "-" sign
> on Space Ship PROMs (except two of them)

That's fine.


> 3. Mame-"useless" CCPU PROM dumps
> There are 6 PROMs used only for internal CCPU control.
> They are useless for Mame.
> Should them be referenced by the driver ?
> I think "yes", because it is done in this way for spacewar.
>
> 4. Redundant CCPU PROM dumps
> 5 of the 6 PROMs for CCPU internal control are exact bit-to-bit copy of
> Cinematronic's PROMs for CCPU.
> Only chip reference (on Sega naming convention and on PCB) are different.
> Should these 5 files be in the .zip file ?
> One Sega CCPU PROM is different from Cinematronic.
> I'm sure it is not a dump error, neither a partialy dead chip.
> Differences are in bits that don't affect CCPU behavior.
> For example, while reading an input, Sega does not select some chips just before the
> ALU heart of the CCPU.
> Should this file be present in the .zip ?

Yes, include all the PROMs in the .zip



R. Belmont
Cuckoo for IGAvania
Reged: 09/21/03
Posts: 9716
Loc: ECV-197 The Orville
Send PM


Re: Yet an other set of (small) questions... new [Re: Phil Bennett]
#219801 - 04/15/10 05:38 PM


> > Game is named "Space Ship", and I choose "spaceshi" as driver name. Everybody is
> > happy with it ?
>
> I'd choose spaceshp personally - it's a matter of taste.

Ditto, but set names are the prerogative of the person adding them (and sometimes Bobby Brown), not me and Phil


Pages: 1

MAMEWorld >> Programming
Previous thread Previous  View all threads Index   Next thread Next   Threaded Mode Threaded  

Extra information Permissions
Moderator:  Pi 
0 registered and 29 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 4604