- --
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
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. |
---|---|
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. |
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. |
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 |
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? |
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. |
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. |
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. |
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. |
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. |