Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
02807 Documentation Typo N/A Jan 7, 2009, 21:50 Mar 9, 2011, 17:13
Tester Haze View Status Public Platform MAME (Official Binary)
Assigned To AWJ Resolution Fixed OS
Status [?] Resolved Driver
Version 0.129 Fixed in Version 0.141u4 Build Normal
Fixed in Git Commit Github Pull Request #
Summary 02807: dogyuunk: Description is wrong
Description this set has been added as
  Dogyuun (Licensed to Unite Trading For Korea)

however, looking at the source files, the only reason it appears to be tagged as 'Korea' is because the default jumper setting has been set to Korea.

In reality it's just an alt revision, which (if the rest of the source is correct) can be run as any of the same regions as the parent set.

Just because the jumper on the PCB might have been set to Korea doesn't make it any more a Korean set than the other. A note that it came from a Korean board is the most that is needed.

The only time an additional region / license needs mentioning in the description is if it's specific to that set.

The descriptions could be expanded to list all the valid regions / licenses but that would be rather long.

(note, if it can't run as other regions as the source would suggest, then that should be fixed instead, I'm not in a position to test it here)
Steps To Reproduce
Additional Information
Github Commit
Flags
Regression Version
Affected Sets / Systems dogyuunk
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
10
User avatar
No.03524
Tafoid
Administrator
Jan 7, 2009, 22:22
I have to agree from my examination of it. It should be an alternate set.
I changed the korean set to other regions via dip (Europe for instance) and I didn't notice any problems or crashes.
User avatar
No.03525
Smitdogg
Senior Tester
Jan 7, 2009, 23:01
edited on: Jan 7, 2009, 23:02
PCB says "TOAPLAN CO.,LTD. TP-022-1 MADE IN KOREA".. Just because it isn't hard coded to Korea doesn't mean anything. The pcb was made in Korea, came from there, and boots to that region on Guru's board.

Name it whatever you want, but Guru told me to specifically name it what it is now.
User avatar
No.03526
Haze
Senior Tester
Jan 7, 2009, 23:28
edited on: Jan 7, 2009, 23:33
Toaplan gamecode is not region locked, the same set likely exists on other boards, not produced in Korea. They simply do their regioning with jumpers. Obviously for a board they manufactured in Korea the jumperpad will be set to Korea.

Ideally the code should be studied and the sets parented based on which is newer.
User avatar
No.03529
Kold666
Developer
Jan 8, 2009, 07:09
I dumped the set 5 of Demon's World and the pcb was clearly built in Italy but the program roms could be run on other demon's world pcb with different region settings.

All toaplan games I own use jumpers to set the region
User avatar
No.03553
Fortuna
Tester
Jan 10, 2009, 18:52
it may be possible that a bootleg korean disguised as korean set?

 
perhaps it is me or be wrong?
User avatar
No.03554
Haze
Senior Tester
Jan 10, 2009, 23:36
edited on: Jan 10, 2009, 23:36
there isn't much reason to think it's a bootleg. lots of PCBs were manufactured in Korea (although often even for 'official' games the standards were low, many official Sega Korean releases don't even have proper stickers and such)

It's just an alt revision, that happened to be found on a board made in Korea, and was therefore set to Korean by default. Plain and simple. It's not a 'Korean' set.
User avatar
No.03559
stephh
Developer
Jan 11, 2009, 22:03
Back to "business", happy new year everybody !

The first difference I've noticed is how jumper settings are handled.

If you look in the driver, you notice that value 0x07 ("USA") and 0x0c ("USA (Atari Games Corp license)") are commented out (because of duplicated setting).

However, in the M68000 code, they are handled differently because there is some extra code in 'dogyuun' (which isn't in 'dogyuunk') :

000EA6: 3039 0010 017A move.w $10017a.l, D0
000EAC: 673E beq $eec
000EAE: 0C79 0003 0010 017A cmpi.w #$3, $10017a.l
000EB6: 6514 bcs $ecc
/* here starts extra code */
000EB8: 0C79 0007 0010 017A cmpi.w #$7, $10017a.l
000EC0: 670A beq $ecc
000EC2: 0C79 000C 0010 017A cmpi.w #$c, $10017a.l
000ECA: 6620 bne $eec
/* here ends extra code */
000ECC: 536D 0006 subq.w #1, ($6,A5)
000ED0: 6522 bcs $ef4
000ED2: 670C beq $ee0
000ED4: 0C6D 0070 0006 cmpi.w #$70, ($6,A5)
000EDA: 6700 2EA2 beq $3d7e
000EDE: 4E75 rts

This looks like a bugfix, doesn't it ? In fact, it appears that jumper settings are slightly different.

dogyuun :

  - 0x07 : "USA" (duplicated setting)
  - 0x0c : "USA (Atari Games Corp license)" (duplicated setting)
  - 0x0e (not defined in MAME driver) : "Europe" (duplicated setting with incorrect coinage due to PORT_CONDITION limit which doesn't accept logical OR or AND operators)

dogyuunk :

  - 0x07 : "Taiwan (??????? licence)"
  - 0x0c : "Taiwan (??????? licence)" (duplicated setting)
  - 0x0e (not defined in MAME driver) : "" (empty string)

So I would say that 'dogyuun' is the newer set.

FYI, this code above is executed in attract mode after hiscore display to delay the game enough time to display the FBI logo with ALL US settings and 0x10017a.w is filled with the value of the jumper (code at 0x03076e in 'dogyuun' or 0x03070c in 'dogyuunk').

Now I can't tell (yet) what shall be the default settings for both games.
User avatar
No.03560
Haze
Senior Tester
Jan 11, 2009, 22:12
so it's more likely a version which was extended to include additional *taiwan* licences, as well as maybe other things.

could well be a newer set then.
User avatar
No.03561
stephh
Developer
Jan 11, 2009, 22:53
There seems to be less code in 'dogyuunk' so I'm not convinced it's a newer set.

IMO, they should be labelled "set 1" and "set 2" until the true story is known.
User avatar
No.07173
AWJ
Developer
Feb 5, 2011, 10:49
edited on: Feb 5, 2011, 11:57
I've just finished comparing the 68000 programs of the two sets. It turns out the ONLY differences between them are region jumper related. In addition to the differences stephh already noted, there are the following differences:

First, there are several places in the program that branch one way if the game is set to an Asian region (including Japan) and another way if the game is set to a non-Asian region.

In "dogyuun", the code for these branches always looks like this (the register used is not necessarily D0):

move.w $10017a.l, D0
beq asian
cmpi.w #$4, D0
bcs nonasian
cmpi.w #$7, D0
beq nonasian
cmpi.w #$c, D0
beq nonasian
cmpi.w #$e, D0
beq nonasian
asian:
(code)
nonasian:
(different code)

However, in "dogyuunk", the code is shorter and looks like this:

move.w $10017a.l, D0
beq asian
cmpi.w #$4, D0
bcs nonasian
asian:
(code)
nonasian:
(different code)

In other words, "dogyuun" treats regions 1, 2, 3, 7, 12 and 14 as non-Asian and all other regions as Asian, while "dogyuunk" only treats regions 1, 2 and 3 as non-Asian and all other regions as Asian.

The code that discriminates between Asian and non-Asian regions is located at 20BA, 23E2 and 8FB6 in "dogyuun". For the curious, set breakpoints at those addresses and find out where in gameplay they get hit...

Second, there is the code that handles European coinage. "dogyuun" uses European coinage if the region is set to either 3 or 14. "dogyuunk" uses European coinage only if the region is set to 3. There are two places in the code where this difference can be found--presumably one is for the service mode screen and the other for actually coining up in game.

Third, and most interesting, is the code at B918 in "dogyuun", or B8CE in "dogyuunk". This code runs whenever the game spawns an item capsule that is supposed to contain a blue speedup/side-fighter item, and for certain regions, it changes the item to a purple bomb item instead.

In "dogyuun", the code looks like this:

lea ($d6,PC), A0 ; lut
move.w $10017a.l, D1
tst.b (A0,D1.w)
beq continue
moveq #$c, D0
move.b D0, ($1a,A6)
continue:
(code continues)
lut:
db 00,00,00,00,01,01,01,01,01,00,00,00,01,00,01,00

In "dogyuunk", the code looks like this:

move.w $10017a.l, D1
cmpi.w #$4, D1
bcs continue
cmpi.w #$9, D1
bcc continue
moveq #$c, D0
move.b D0, ($1a,A6)
continue:
(code continues)
("dogyuunk" does not have the 16-byte lookup table that "dogyuun" has)

In summary, both sets replace speedup items with bomb items if the region is between 4 and 8 inclusive, and "dogyuun" also replaces speedup items with bomb items if the region is 12 or 14.

What this means is that the "duplicate" region jumper settings are not really duplicates at all! In "dogyuun", for every region/licensee except Japan, there is one jumper setting that includes the speedup items in the game, and one jumper setting that replaces them with more bombs. In "dogyuunk", for every Asian region except Japan there is a jumper setting that keeps the speedup items and one that replaces them; the USA and Europe regions always have the speedup items.

My guess is that the "dogyuun" set is newer and should remain the parent. It looks like Toaplan failed to find a licensee to distribute the game in Taiwan, so they got rid of the unused "Licensed to ??????? for Taiwan" jumper settings and replaced them with additional USA and Europe settings that replace the speedups with bombs like the Asian settings do.