Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: TS2 Outputs Magic Post  (Read 9969 times)

0 Members and 1 Guest are viewing this topic.

Boomslang

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1063
  • Last login:January 01, 2024, 08:20:43 pm
  • I want to build my own arcade controls!
TS2 Outputs Magic Post
« on: November 02, 2017, 01:08:55 am »
Hey,

Gonna start a library of some games etc for getting outputs working,



Hopefully you have some basic knowledge around TS2 (Troubleshooter 2) and mamehooker to get outputs working already. Awesome programs made by Howard Casto http://dragonking.arcadecontrols.com/index.php readme files contain all the info you need to get going!

SailorSat created some awesome lua files which you will need for m2 emulator 1.1a

lua files go in your m2 directory in scripts folder
ini files go in your ts2 directory in memcfg folder


daytona.lua
Code: [Select]
ROM = "daytona"
require("model2"); -- Import model2 machine globals


function Init()
Patch_SpecialInputs();
Patch_LampOutputs();
os.execute ("tsstub.exe "..ROM)
end

function Patch_SpecialInputs()
-- first, disable old read
Romset_PatchDWord(0, 0x1E504, 0x5CA01E00); -- MOV g4,0x00 (NOOP?)

-- now jump to our patched read
Romset_PatchDWord(0, 0x1E508, 0x090219F8); -- CALL 0x0003FF00

-- read io port
Romset_PatchDWord(0, 0x3FF00, 0x80A03000);
Romset_PatchDWord(0, 0x3FF04, 0x01C00012); -- LDOB g4,0x01C00012

-- read patched mask
Romset_PatchDWord(0, 0x3FF08, 0x80B83000);
Romset_PatchDWord(0, 0x3FF0C, 0x00500820); -- LDOB g7,0x00500820

-- and em
Romset_PatchDWord(0, 0x3FF10, 0x58A50097); -- AND g4,g4,g7

-- restore old mask
Romset_PatchDWord(0, 0x3FF14, 0x8CB800FF); -- LDA g7,0xff

-- return
Romset_PatchDWord(0, 0x3FF18, 0x0A000000);  -- RET
end

function Patch_LampOutputs()
-- reroute 0x01C0001E to 0x00500824
for offset = 0x00000000, 0x0003FFFF, 4 do
if Romset_ReadDWord(0, offset) == 0x01C0001E then
Romset_PatchDWord(0, offset, 0x00500824);
local opcode = offset - 1;
if Romset_ReadByte(0, opcode) == 0x80 then
Romset_PatchByte(0, opcode, 0x90) -- replace LDOB with LD
end
if Romset_ReadByte(0, opcode) == 0x82 then
Romset_PatchByte(0, opcode, 0x92) -- replace STOB with ST
end
end
end
end

function PostDraw()
if I960_ReadByte(RAMBASE + 0x00000820) == 0x00 then
I960_WriteByte(RAMBASE + 0x00000820, 0xFF);
end

-- 0xFF = normal
-- 0xFD = force beginner
-- 0xFB = force advanced
-- 0xF9 = force expert

-- 0xF7 = emergency/remote start

-- 0x7F = ex.start; as long as hold down, the track selection stays on (even after the 15 second countdown)

-- 0x3E = DIK_F4
-- 0x3F = DIK_F5
local data = 0xFF;
data = XOR(SHL(Input_IsKeyPressed(0x3E), 0x07), data); -- F4 for ex.start
data = XOR(SHL(Input_IsKeyPressed(0x3F), 0x03), data);  -- F5 for emergency/remote start
I960_WriteByte(RAMBASE + 0x00000820, data);

Video_DrawText(0,0,HEX8(I960_ReadByte(0x00500824)),0xFFFFFF);
end



This is the ini file to go into memcfg folder of TS2


daytona.ini
Code: [Select]
[Info]
Name=Daytona USA
WinCaption=Daytona USA
WinClass=MYWIN
ExeName=
ExePath=
LaunchGame=0
Enable=1
ExitMode=1
[Inputs]

[Outputs]
Enable=1
EmuName=Model2
NumberOutputs=9

Output1PTR=&H1AA888|&H100|&H824
Output1Type=byte
Output1BitMask=&h1
Output1Name=Coin Chute 1

Output2PTR=&H1AA888|&H100|&H824
Output2Type=byte
Output2BitMask=&h2
Output2Name=Coin Chute 2

Output3PTR=&H1AA888|&H100|&H824
Output3Type=byte
Output3BitMask=&h4
Output3Name=Start_Lamp

Output4PTR=&H1AA888|&H100|&H824
Output4Type=byte
Output4BitMask=&h8
Output4Name=View1_Lamp

Output5PTR=&H1AA888|&H100|&H824
Output5Type=byte
Output5BitMask=&h10
Output5Name=View2_Lamp

Output6PTR=&H1AA888|&H100|&H824
Output6Type=byte
Output6BitMask=&h20
Output6Name=View3_Lamp

Output7PTR=&H1AA888|&H100|&H824
Output7Type=byte
Output7BitMask=&h40
Output7Name=View4_Lamp

Output8PTR=&H1AA888|&H100|&H824
Output8Type=byte
Output8BitMask=&h80
Output8Name=Leader_Lamp

Output9PTR=&H1AA888|&H100|&H52D8
Output9Type=integer
Output9Name=RPM




indy500.lua
Code: [Select]
ROM = "indy500"
require("model2"); -- Import model2 machine globals

function Init()
os.execute ("tsstub.exe "..ROM)
end

function Frame()
I960_WriteDWord(0x005ec6b0,0x00000000)
end




srallyc.lua
Code: [Select]
ROM = "srallyc"
require("model2"); -- Import model2 machine globals

function Init()
os.execute ("tsstub.exe "..ROM)
end
function Frame()
Model2_SetWideScreen(1)
Model2_SetStretchALow(1)
Model2_SetStretchBLow(1)
Model2_SetStretchAHigh(1)
Model2_SetStretchBHigh(1)
end
function timecheatfunc(value)
I960_WriteWord(RAM2BASE+0xB0B0,99*60); -- 99 seconds always
end
function firstplacefunc(value)
I960_WriteWord(RAM2BASE+0x20C8,0); -- competitors in front
end
Options =
{
timecheat={name="Infinite Time",values={"Off","On"},runfunc=timecheatfunc},
firstplace={name="1st Place",values={"Off","On"},runfunc=firstplacefunc}
}





stcc.lua
Code: [Select]
ROM = "stcc"
require("model2"); -- Import model2 machine globals

function Init()
os.execute ("tsstub.exe "..ROM)
end




srallyc.ini
Code: [Select]
[Info]
Name=Sega Rally Championship
WinCaption=Sega Rally Championship
WinClass=MYWIN
ExeName=
ExePath=
LaunchGame=0
Enable=1
ExitMode=1

[Outputs]
Enable=1
EmuName=Model2
NumberOutputs=2

Output1PTR=||&H174CF0
Output1Type=byte
Output1BitMask=4
Output1Name=Start_Lamp

Output2PTR=||&H174CF0
Output2Type=byte
Output2BitMask=32
Output2Name=View1_Lamp




indy500.ini
Code: [Select]
[Info]
Name=Indianapolis 500 (Rev A, Twin, Newer rev)
WinCaption=Indianapolis 500 (Rev A, Twin, Newer rev)
WinClass=MYWIN
ExeName=
ExePath=
LaunchGame=0
Enable=1
ExitMode=1
[Inputs]

[Outputs]
Enable=1
EmuName=Model2
NumberOutputs=4

Output1PTR=||&H174CF0
Output1Type=byte
Output1BitMask=4
Output1Name=Start_Lamp

Output2PTR=||&H174CF0
Output2Type=byte
Output2BitMask=16
Output2Name=View1_Lamp

Output3PTR=||&H174CF0
Output3Type=byte
Output3BitMask=32
Output3Name=View2_Lamp

Output4PTR=||&H174CF0
Output4Type=byte
Output4BitMask=128
Output4Name=Leader_Lamp




stcc.ini
Code: [Select]
[Info]
Name=Sega Touring Car Championship
WinCaption=Sega Touring Car Championship
WinClass=MYWIN
ExeName=
ExePath=
LaunchGame=0
Enable=1
ExitMode=1

[Outputs]
Enable=1
EmuName=Model2
NumberOutputs=4

Output1PTR=||&H174CF0
Output1Type=byte
Output1BitMask=4
Output1Name=Start_Lamp

Output2PTR=||&H174CF0
Output2Type=byte
Output2BitMask=16
Output2Name=View1_Lamp

Output3PTR=||&H174CF0
Output3Type=byte
Output3BitMask=32
Output3Name=View2_Lamp

Output4PTR=||&H174CF0
Output4Type=byte
Output4BitMask=128
Output4Name=Leader_Lamp




Teknoparrot Games


id6.ini
Code: [Select]
[Info]
Name=InitialD 6 - WGL_RE_FINAL
WinCaption=InitialD 6 - WGL_RE_FINAL
WinClass=InitialD 6 - WGL_RE_FINAL
ExeName=
ExePath=
LaunchGame=0
Enable=1
ExitMode=0
[Inputs]

[Outputs]
Enable=1
NumberOutputs=6

Output1PTR=||&HCF2E8D
Output1Type=byte
Output1BitMask=128
Output1Name=Start

Output2PTR=||&HCF2E8D
Output2Type=byte
Output2BitMask=64
Output2Name=View Change

Output3PTR=||&HCF2E8D
Output3Type=byte
Output3BitMask=2
Output3Name=Up Button

Output4PTR=||&HCF2E8D
Output4Type=byte
Output4BitMask=1
Output4Name=Down Button

Output5Addr=&H10F2E8E
Output5Type=byte
Output5BitMask=64
Output5Name=Right Button

Output6Addr=&H10F2E8E
Output6Type=byte
Output6BitMask=128
Output6Name=Left Button





id7.ini
Code: [Select]
[Info]
Name=InitialD 7 - WGL_RE_FINAL
WinCaption=InitialD 7 - WGL_RE_FINAL
WinClass=InitialD 7 - WGL_RE_FINAL
ExeName=
ExePath=
LaunchGame=0
Enable=1
ExitMode=0
[Inputs]

[Outputs]
Enable=1
NumberOutputs=6

Output1Addr=&H185D152
Output1Type=byte
Output1BitMask=128
Output1Name=Start

Output2Addr=&H185D152
Output2Type=byte
Output2BitMask=64
Output2Name=View Change

Output3Addr=&H185D152
Output3Type=byte
Output3BitMask=2
Output3Name=Up Button

Output4Addr=&H185D152
Output4Type=byte
Output4BitMask=1
Output4Name=Down Button

Output5Addr=&H185D153
Output5Type=byte
Output5BitMask=64
Output5Name=Right Button

Output6Addr=&H185D153
Output6Type=byte
Output6BitMask=128
Output6Name=Left Button





SRC.ini
Code: [Select]
[Info]
Name=SEGA RACING CLASSIC
WinCaption=SEGA RACING CLASSIC
WinClass=SEGA RACING CLASSIC
ExeName=
ExePath=
LaunchGame=0
Enable=1
ExitMode=0
[Inputs]

[Outputs]
Enable=1
NumberOutputs=12

Output1PTR=||&H434C18
Output1Type=byte
Output1BitMask=4
Output1Name=Start Lamp

Output2PTR=||&H434C18
Output2Type=byte
Output2BitMask=32
Output2Name=Leader Lamp

Output3PTR=||&H434C18
Output3Type=byte
Output3BitMask=8
Output3Name=VR Lamp1

Output4PTR=||&H434C18
Output4Type=byte
Output4BitMask=64
Output4Name=VR Lamp2

Output5PTR=||&H434C18
Output5Type=byte
Output5BitMask=16
Output5Name=VR Lamp3

Output6PTR=||&H434C18
Output6Type=byte
Output6BitMask=128
Output6Name=VR Lamp4

Output7Addr=&H90DBEA
Output7Type=byte
Output7BitMask=1
Output7Name=Woofer LED R

Output8Addr=&H90DBEA
Output8Type=byte
Output8BitMask=2
Output8Name=Woofer LED G

Output9Addr=&H90DBEA
Output9Type=byte
Output9BitMask=4
Output9Name=Woofer LED B

Output10Addr=&H90DBEA
Output10Type=byte
Output10BitMask=8
Output10Name=Rear LED R

Output11Addr=&H90DBEA
Output11Type=byte
Output11BitMask=16
Output11Name=Rear LED G

Output12Addr=&H90DBEA
Output12Type=byte
Output12BitMask=32
Output12Name=Rear LED B






SASR.ini
Code: [Select]
[Info]
Name=Sonic & SEGA All-Stars Racing
WinCaption=Sonic & SEGA All-Stars Racing
WinClass=Sonic & SEGA All-Stars Racing
ExeName=
ExePath=
LaunchGame=0
Enable=1
ExitMode=0
[Inputs]

[Outputs]
Enable=1
NumberOutputs=14

Output1PTR=||&H813708
Output1Type=byte
Output1BitMask=128
Output1Name=Start Lamp

Output2PTR=||&H813708
Output2Type=byte
Output2BitMask=64
Output2Name=Leader Lamp

Output3PTR=||&H813709
Output3Type=byte
Output3BitMask=8
Output3Name=Seat Red

Output4PTR=||&H813709
Output4Type=byte
Output4BitMask=4
Output4Name=Seat Green

Output5PTR=||&H813709
Output5Type=byte
Output5BitMask=2
Output5Name=Seat Blue

Output6PTR=||&H813708
Output6Type=byte
Output6BitMask=2
Output6Name=Side Red

Output7PTR=||&H813708
Output7Type=byte
Output7BitMask=1
Output7Name=Side Green

Output8PTR=||&H813709
Output8Type=byte
Output8BitMask=128
Output8Name=Side Blue

Output9PTR=||&H813709
Output9Type=byte
Output9BitMask=64
Output9Name=Subwoof Red

Output10PTR=||&H813709
Output10Type=byte
Output10BitMask=32
Output10Name=Subwoof Green

Output11PTR=||&H813709
Output11Type=byte
Output11BitMask=16
Output11Name=Subwoof Blue

Output12PTR=||&H813708
Output12Type=byte
Output12BitMask=8
Output12Name=Item Red

Output13PTR=||&H813708
Output13Type=byte
Output13BitMask=32
Output13Name=Item Green

Output14PTR=||&H813708
Output14Type=byte
Output14BitMask=4
Output14Name=Item Blue






Daytona USA Outputs
Initial D 6 Outputs
Sega Racing Classic Outputs

Will add more as I go
« Last Edit: December 21, 2017, 10:35:10 pm by Boomslang »

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #1 on: November 02, 2017, 01:26:01 am »
Nice work!

For those not in the know, Boomslang has been working on this for quite a while, and as he put it "this ---steaming pile of meadow muffin--- ain't easy," so be appreciative.  A new version of TS2 will be released eventually and these will be included along with some new features. 

Memory sniping is time consuming, but as you can see, it's also quite rewarding.  I encourage people who want outputs for  non-mame racing games or lightgun games, even pc games that normally don't have outputs, to take the initiative.  We could amass quite a collection of games with outputs if everyone would chip in. 

Boomslang

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1063
  • Last login:January 01, 2024, 08:20:43 pm
  • I want to build my own arcade controls!
Re: TS2 Outputs Magic Post
« Reply #2 on: November 03, 2017, 06:25:05 am »
Added Sega Racing Classic


Fixed the start button glitching so it works correct now

« Last Edit: November 03, 2017, 03:00:22 pm by Boomslang »

Marcoqwerty

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 123
  • Last login:March 14, 2024, 02:46:08 pm
Re: TS2 Outputs Magic Post
« Reply #3 on: November 04, 2017, 04:01:30 pm »
After install this custom daytona.lua file the TS2.exe wont load or crash, without works.

Boomslang

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1063
  • Last login:January 01, 2024, 08:20:43 pm
  • I want to build my own arcade controls!
Re: TS2 Outputs Magic Post
« Reply #4 on: November 05, 2017, 12:08:37 am »
hm dunno what to say, Ive literally got this running across 5 x pc's at home without issue

Boomslang

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1063
  • Last login:January 01, 2024, 08:20:43 pm
  • I want to build my own arcade controls!
Re: TS2 Outputs Magic Post
« Reply #5 on: November 07, 2017, 01:12:58 am »
added Sonic & SEGA All-Stars Racing

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #6 on: November 07, 2017, 11:41:35 pm »
I'm currently converting the memcfgs to work with m2 emulator 1.1a.  I've been on it on and off since this afternoon but so far I've got 3 games done.  This will take a while.  Also, apparently the multi cpu and regular exes are the same in 1.1a?!?  I mean it's less work for me, but someone should determine if both are the multicpu or the vanilla version. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #7 on: November 08, 2017, 01:59:11 am »
I got all the positional gun games converted for model 2 1.1a.  Tomorrow I'll do the lightgun titles, which will take longer as there are 12 NO-OPs I have to convert.  The remaining games with just outputs will take no time at all. 

Boomslang

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1063
  • Last login:January 01, 2024, 08:20:43 pm
  • I want to build my own arcade controls!
Re: TS2 Outputs Magic Post
« Reply #8 on: November 08, 2017, 03:56:42 am »
Awesome Howard. Be sweet to get these on latest m2

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #9 on: November 08, 2017, 02:22:00 pm »
So I got House of the Dead converted and... yikes.... it was a nightmare. 

What I'm doing is firing up two versions of Cheat engine and attaching one to the 1.0 exe and the other to the 1.1a exe.  I then feed the memory addresses into the 1.0 version and look at the surrounding assembly code to search for the NOP position in the 1.1 exe via assembly search.  The only problem is a few of the NOPs are surrounded by exe-dependent offsets in their code, so I couldn't search for that.  I had to go several lines up until I found some static code, search for that, and then find the line of assembly that needs NO-OPed.  It took about 2 hours that I don't have. 

Luckily I think 90% of the NO-OPs for the other lightgun games are the same, so I won't have to do that many searches again. 

I've got a question.... does SailorSat's Daytona patch work for all the clones or just Daytona?  It might be worth it to try and patch the clones if not.  There are a few more games with broken outputs as well, like Behind Enemy Lines and that tank game who's name eludes me atm.  I don't know if anything can be done tbh. 

Anyway, I'm taking a break and then I'll compare the memcfgs and do the ones that share the same addresses as HOTD. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #10 on: November 09, 2017, 01:54:25 am »
Ok, so I'm ashamed to admit it, but my cheat-fu is failing me and I need some help.  Several of the lightgun games have "fake" recoil outputs, which are multi-level pointers that basically read the bullet count of the guns to see if a shot should be fired or not.  I have the original for 1.0, but for the life of me I can't remember the technique I used to find the pointers. 

Finding the dynamic address is easy enough, just search for the number of bullets you have left a few times, but I just can't get the new pointers. 

If anyone is good at finding multi stage pointers please take a look.  I'm attaching a cheat table for the multicpu exe of 1.0 to show the structure of the pointers.  My guess is only the first part of the pointer (exe+offset) has changed. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #11 on: November 09, 2017, 08:11:48 pm »
I figured it out guys.  Turns out I didn't find the pointers last time.  The cheat program art money is very emulator-centric and I used it a lot back in the day.  It has a table with a series of pointers for all the work ram locations within model 2.  I'll post them here for prosperity. 

Work RAM 1:  emulator_multicpu.exe+0x001AA888+0x100
Work RAM 2:  emulator_multicpu.exe+0x001AA888+0x108

Boomslang

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1063
  • Last login:January 01, 2024, 08:20:43 pm
  • I want to build my own arcade controls!
Re: TS2 Outputs Magic Post
« Reply #12 on: November 09, 2017, 09:35:09 pm »
Ah nice one

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #13 on: November 09, 2017, 10:32:15 pm »
Yeah it's useful for other emulators as well, including mame.  I find the interface clumsy compared to cheat engine, but open "am800.emul" in notepad and it has pointers to 30 or so console and arcade emulators.  Well worth it to check it out if you are playing around with outputs on non-mame emulators.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #14 on: November 09, 2017, 11:53:58 pm »
Got all the lightgun/posgun games converted.  There seems to be an issue with vcop2's trigger though.... I'll have to check on that. 

Now I'll just have to do a massive conversion of all the remaining "normal" games tomorrow. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #15 on: November 11, 2017, 02:05:51 am »
I don't know if this is of interest to anyone, but armed with the technique SailorSat used for Daytona I decided to patch-up Desert Tank a little.  I managed to spoof the VR Lamps and the machine gun motor.  I think I might be able to do something similar with Behind Enemy Lines, which would mean every game that had outputs in the arcade will have some form of feedback in Model 2. 

Boomslang

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1063
  • Last login:January 01, 2024, 08:20:43 pm
  • I want to build my own arcade controls!
Re: TS2 Outputs Magic Post
« Reply #16 on: November 11, 2017, 02:23:15 am »
That's pretty awesome!

Ive been failing a battle gear 4 trying to get outputs going  :banghead:


Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #17 on: November 11, 2017, 01:35:57 pm »
I'm in a hacking kind of mood.  After I get the model 2 stuff squared away I'll look at the teknoparrot games with you. 

I used the ammo count of Behind Enemy Lines to fake machine gun force-feedback.  I also found something around the area of the VCOP outputs that seems to be tied to the start lamp outputs in some way, but the data doesn't make any sense.  It seems to be inverted and interleaved?  I'm not going to spend a lot of time on it as, like Desert Tank this isn't exactly a popular game. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #18 on: November 11, 2017, 03:46:57 pm »
Ok maybe someone can look at this with fresh eyes.  I've found a byte for BEL with data, but I can't figure out the pattern:

At emulator_multicpu.exe+174CF0 there are the following data cycles: 
-------------------------------------

both "press start"/coins inserted in attract mode >> 255>247
both started >> stays at 223
p2 started only (coins remaining) >> 255>223
p1 started only (coins remaining)>>255>247>239

p2started no extra coins>>239>223
p1started no extra coins>>223>239
-----------------------------------

The main thing is I can't find a video of the game's attract mode, so I don't know how the cabinet behaves.  I'm guessing from this that the start buttons only blink when coins are inserted.  I can also assume that when there are credits remaining, both start buttons blink during the attract mode as you can start the game with either button, even if it's single player.  The question is, does it do like traditional sega games where the start button remains unlit after you press start?  The bitmasking is also weird.  Usually start 1 is 4 and start 2 is 8, so you'll see 12, not 8 subtracted and added when both lamps blink.  223, which I think is both lamps off, subtracts 32, but in attract mode, it alternates between 255 and 247... wtf?

Boomslang

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1063
  • Last login:January 01, 2024, 08:20:43 pm
  • I want to build my own arcade controls!
Re: TS2 Outputs Magic Post
« Reply #19 on: November 12, 2017, 12:27:42 am »
Is this behind enemy lines? Ill take a look later on if so but that pattern sounds wierd as

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #20 on: November 12, 2017, 01:14:31 am »
Yeah it's behind enemy lines.  I've been converting all the normal games and I have most of them, but there are a couple like this one I just scratch my head at.  We need SailorSat... she's good at sorting out Sega data and there are more than a couple games with complicated motion setups. 

Boomslang

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1063
  • Last login:January 01, 2024, 08:20:43 pm
  • I want to build my own arcade controls!
Re: TS2 Outputs Magic Post
« Reply #21 on: November 12, 2017, 02:39:13 am »
bah don't know why but BEL won't load for me.Tried several roms and it always starts up then crashes for me so I can't look at it sorry

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #22 on: November 12, 2017, 03:31:54 pm »
Been having some issues upgrading to 1.1a as well.  I just search for the rom name in google and upon the results, downloaded the mame rom, not the model 2 rom (as the roms are now inline with mame). 

I got Sky Target converted, which will make people happy as it's actually playable via ts2's help.  Next is Virtual On, which has a few pointers and the rest are just a handful of output games.  I have intentionally left Daytona alone though.  I'll have to play with SailorSat's lua scripts and see if I can replicate the results for all the oddball clones. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #23 on: November 12, 2017, 10:50:41 pm »
So surprisingly, most of the Daytona rom hacks work just fine with the default script.  Only 93 edition and Special edition take issue with it.  They might be fixable, but I have to study them a bit.  Anyway, I'll make up the ini and that will be every model 2 game converted to 1.1a! 

Unfortunately I now have to test every single game, which will take a while.  I also have to thoroughly test the latest version of TS2.... it's sat unloved for 3 years, so I might have left some code out, ect. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #24 on: November 13, 2017, 07:40:36 pm »
Wrote the revised Daytona script for ts2.  Combining the official outputs with some interesting values you guys might want brings the total number of outputs up to 13.  RPM, KPH, time left, gear position and race position are included.

This can be done for the other racing games as well, but I just haven't bothered.  Daytona seems to be the model 2 racer everyone wants to play. 

Marcoqwerty

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 123
  • Last login:March 14, 2024, 02:46:08 pm
Re: TS2 Outputs Magic Post
« Reply #25 on: November 14, 2017, 04:58:23 am »
Wrote the revised Daytona script for ts2.  Combining the official outputs with some interesting values you guys might want brings the total number of outputs up to 13.  RPM, KPH, time left, gear position and race position are included.

This can be done for the other racing games as well, but I just haven't bothered.  Daytona seems to be the model 2 racer everyone wants to play.

Thank you!!! im on the way to setup my arcade cab, if youre looking for a beta tester :D

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #26 on: November 14, 2017, 10:56:32 pm »
Thank Boomslang.  I had no intention of working on this stuff right now, but he kept sending me progress reports and it got me in the mood to work on this stuff. 

Anyway, it looks like testing the new ini files was the right call.  I found minor problems with all of the lightgun games.  I got most of them fixed last night, but vcop and vcop2 have broken trigger code.  It might take a day or two to sort out.  Most stuff worked fine though.  So that's a good thing. 

Boomslang

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1063
  • Last login:January 01, 2024, 08:20:43 pm
  • I want to build my own arcade controls!
Re: TS2 Outputs Magic Post
« Reply #27 on: November 15, 2017, 02:36:48 am »
It's a team effort!!  :cheers:

I haven't looked at any outputs this week as I've been busy with real life stuff but will carry on with a couple games. I've been struggling with them but im determined to get them eventually

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #28 on: November 15, 2017, 02:42:13 am »
Well I'm having some real problems with the vcop and vcop 2 memcfgs.  I've got vcop working except for reload for p2 which I've been working on all night.  I haven't even started on vcop 2 yet. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #29 on: November 15, 2017, 08:46:56 pm »
Ok, I fixed Vcop 2 and I should be able to go back and fix vcop.  Turns out our developer changed the mouse code somewhat and it was throwing me off.  Things can never be simple.  *grumble*  Anyway ts2 seems to be working well so expect a new release within the week!

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #30 on: November 16, 2017, 01:22:00 am »
Dang, Virtua Cop had some code changes as well.  Anyway, it's fixed, so it's just a matter of re-testing everything again. 

Brian74

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1089
  • Last login:March 10, 2024, 01:55:58 pm
  • Yep... I built that!!
Re: TS2 Outputs Magic Post
« Reply #31 on: November 27, 2017, 08:51:21 pm »
Thanks for plugging away at this you guys! My Mame'd Daytona Usa 2 and Rev X cabs thank you!
         

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #32 on: November 28, 2017, 12:16:37 am »
My internet has been down for the past two weeks.  I worked on a lot of model 2 lua scripting while I was down that expand the features of the emulator.  Stay tuned. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #33 on: December 18, 2017, 11:42:32 pm »
Sorry people... more outages.  I'll try to get this out before xmas. 

Btw....  I looked at Chase HQ 2 to try and hook up the outputs....  I didn't have any luck.  I've never seen a game with analog outputs before.  If anyone can find area where the outputs are let me know.

*EDIT*  Nevermind, I found these values months ago..... I must be losing it in my old age.   
« Last Edit: December 21, 2017, 02:25:05 am by Howard_Casto »

Boomslang

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1063
  • Last login:January 01, 2024, 08:20:43 pm
  • I want to build my own arcade controls!
Re: TS2 Outputs Magic Post
« Reply #34 on: December 21, 2017, 09:23:30 pm »
Cool stuff Howard

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #35 on: December 21, 2017, 09:35:34 pm »
Thanks.  Looking at the bizarre way that Chase HQ 2 interleaves the siren lights and the force-feedback, I'm thinking now might be a good time to add a function that will strip data like this and analyze it into useful values.  This game uses the old timey sega standard of +/- 15 levels of power applied to the motor for left/right force.  I've got a few ideas for an effect that should be able to run on this, which would open up force-feedback for a lot of games.  I'll mess around with it either tonight or tomorrow to see if it's something I can add now, or if it should be a long-term goal.   

Boomslang

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1063
  • Last login:January 01, 2024, 08:20:43 pm
  • I want to build my own arcade controls!
Re: TS2 Outputs Magic Post
« Reply #36 on: December 21, 2017, 10:33:22 pm »
That would be awesome! I've been busy as leading up to xmas so apologies for not being on here more.

I finished for the year today and have till 29th Jan off so I got tons of time if you wanna get stuck into finding any outputs etc

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #37 on: December 21, 2017, 11:57:25 pm »
I've been extremely busy myself, which is why I kind of dropped the ball on this release and a new mamehooker release.  Like yourself I've got time from xmas onward, so maybe we can try to get outputs going for all the pc-based games that apply. 

I hooked up the PATO light(s) for chase and they seem to work well, as do the regular button lamps for the game.  I found a bug in the bitmasking code which would effect anything that isn't a byte in size.  Cleaning the force feedback code looks tricky, but I have a few ideas. 

Boomslang

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1063
  • Last login:January 01, 2024, 08:20:43 pm
  • I want to build my own arcade controls!
Re: TS2 Outputs Magic Post
« Reply #38 on: December 22, 2017, 02:07:33 am »
That's really cool and I hope you can do some ffb magic. Any ffb is better then none! Yep sounds good to see if we can get most done


Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:Yesterday at 10:59:21 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: TS2 Outputs Magic Post
« Reply #39 on: December 23, 2017, 03:47:07 am »
I've decoded and hooked up the outputs for both Chase HQ 2 and Wacky Races.  Yes, even the force-feedback.  Most ttx games should be easy to add.  The only thing is I had to change some code in TS2, so everyone will have to wait for a release.