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: Sega Monaco GP 1979/1980 - My Remake  (Read 263993 times)

0 Members and 1 Guest are viewing this topic.

GPForverer2024

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 81
  • Last login:July 02, 2025, 03:24:52 am
  • I want to build my own arcade controls!
Re: Sega Monaco GP 1979/1980 - My Remake
« Reply #560 on: June 24, 2025, 04:21:06 pm »
Hi Geecab!

Excellent news!  :applaud:

 I can't wait to see this video soon.

How lucky you are to be able to design projects like this!

 Bravo and thank you so much for sharing.

See you soon!
 :)

geecab

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 341
  • Last login:Yesterday at 01:37:10 pm
Re: Sega Monaco GP 1979/1980 - My Remake
« Reply #561 on: June 29, 2025, 04:27:13 am »
Hi GPForverer2024 and all!

Almost there! I have attached pics of the circuit I built, and a quick video (Its a pretty low quality video, I'll probably do a better one at some point).

All that remains is for me to tidy the code that enables this to run and write some instructions. I've made a new utility called "scoreboard_to_revcounter.exe". This runs on your PC, it reads the Rev values from a running MGPr game, and translates these to RPM values that get sent to the Arduino. I've also wrote a program that runs on the Arduino (Called arduino_rev_sim.ino) which receives these RPM values, and generates corresponding pulses to drive the physical revcounter. I'll provide the source code to both in a new MGPr package. It should be quite easy for anyone to modify scoreboard_to_revcounter & arduino_rev_sim to work with any game, not just MGPr. Hopefully I'll have this all ready and documented in a day or two.

The video shows scoreboard_to_revcounter.exe running in 'demo' mode, followed by it runnning in 'game' mode. In demo mode, MGPr doesn't need to be running, it just cycles though various RPMs so you can check you've specified the RPM range accurately. For example, I run scoreboard_to_revcounter.exe specifying an RPM range of 8000. Part 1 of the demo tests RPMs that increase at 25% steps of the range (0 RPM, 2000RPM, 4000RPM, 6000RPM and 8000RPM and back down). Part 2 of the demo tests RPMs that increase at 2.5% steps of the range (0 RPM, 200 RPM, 400 RPM etc...). If, say, I ran the demo and noticed the needle didn't quite reach the top of the range, I could specify a scoreboard_to_revcounter.exe RPM range to be something like 8100RPM until the needle hits the spot. When MGPr is running, scoreboard_to_revcounter.exe will convert MGPr's Rev value to an RPM proportional to your specified range. Hope that makes sense?


Regarding the circuit:

There are probably better ways to build this circuit (From what I read online, the TIP120 transistor and the 1N5400 diode are quite 'old' components these days, they can also handle lots more voltage/current that I'm going to put through them, so they're arguably a bit over-the-top). However, browsing for revcounter circuits, everyone seems to be using the TIP120/1N5400 arrangement and as these components are cheap and available, I thought I'd do the same.

I need to say a big thanks to 'tylerpeppy' who is a member of the Arduino forum. He's uploaded some very detailed Arduino projects to the site, including this revcounter one which I copied https://projecthub.arduino.cc/tylerpeppy/arduino-car-tachometer-simulator-no-simhub-f9fd0f. I actually used bits of his circuit diagram to make mine. My circuit is just a slightly rearranged version of his. You should be able to match my circuit diagram with what I built on the breadboard.

If you are buying a revcounter, be sure to get one that is compatible with a 2, 3, 4, 5, 6 or 8-cylinder Petrol engine, and runs off a 12v source.

I'm using a really old Arduino UNO board, but I think my arduino_rev_sim.ino program would run just fine on an Arduino Nano, Teensy board etc. (Anything compatible with the Arduino IDE, that you can upload *.ino files to should just work).

The Arduino sends the pulses to the revcounter out on Pin13. I picked Pin13 because it has an onboard LED connected to it. Thus without any circuit connected to Arduino, you can see the onboard LED flicker at a speed dependent on the pulses its trying to generate (So you can have confidence things are working before connecting it to any circuit). The pulses that output from the Arduino have 5v peaks. The revcounter needs a tacho source signal that has 12v peaks. The small Arduino signal pulses go into the base (B) of the TIP120 Transistor switching it on and off like a tap, As a result, the Transistor emits (E) larger 12v pulses.

There is no switch for the revcounter backlight light in the actual circuit I made (the yellow wire), its just permanently connected to 12v (I.e. Permanently on). But you could put a relay in there, switch the backlight on everytime you start a game perhaps?

You'll notice I'm using a 220 ohm resistor. Some people say use a 2.2K ohm resistor but it really doesn't matter. I've tried both and everything works fine. The resistor isn't there to protect the transistor, it is there to reduce current drawn from the Arduino. If you've got loads of other stuff connected to the other Arduino output pins then saving current might be important. As I've only got 1 output pin in use, this isn't a concern.

The legs of the transistor and diode were so thick I couldn't push them into my bread board. That's why you'll see I soldered thin wires to their legs.

The Diode (Which, at first, looks like its been placed the wrong way round) is there to protect the transistor when the +12v PSU is unexpectedly powered off. In normal operation (Where the +12v source is either greater than or equal to the Tacho source signal) the Diode acts as if it were open circuit. Should, however, the +12v supply be switched off when the revcounter is in full swing, then the Diode will conduct. Apparently, some revcounters act like inductors and build up charge. When the +12v PSU is unexpectedly powered off, the diode ensures any built up charge is routed away from the transistor and thus protecting it.


Regarding my KET105 Revcounter/Tachometer:

I do think it looks good and its needle movement is just about fast enough. The cylinder switch at the back (Allowing you to choose between 2,3,4,5,6 or 8 cylinders) works well.

Something worth mentioning (That I believe is quite common with most off-the-shelf revcounters), is that they have trouble reading very low RPMs. My revcounter needle moves oddly (bounces around) when you send it less than, 600 RPM at 2-cylinder. This is probably OK as most engines would stall if you tried to run them this slow. I did notice increasing to 8 cylinder vastly improved things (Where you'd only see the oddness starting at less that 150RPM. I worked around this in my software, you can set a 'Stall RPM' where anything below a particular RPM will just send no pulses to the revcounter (and its needle will just drop to zero).


Wow, probably too much information here! Well done if you made it to the end! :)




« Last Edit: July 01, 2025, 04:09:03 am by geecab »

GPForverer2024

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 81
  • Last login:July 02, 2025, 03:24:52 am
  • I want to build my own arcade controls!
Re: Sega Monaco GP 1979/1980 - My Remake
« Reply #562 on: June 29, 2025, 09:57:32 am »
Hi geecab!

What incredible work!!!
I'm amazed to see this result!

I'll send you a link to see if I can order this rev counter so it's compatible with your software, and I'll order the rest of the equipment.
I'm waiting for your reply.

Thank you, I can't wait.


https://a.aliexpress.com/_Eu4slUw

 ;)

geecab

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 341
  • Last login:Yesterday at 01:37:10 pm
Re: Sega Monaco GP 1979/1980 - My Remake
« Reply #563 on: June 29, 2025, 11:50:11 am »
Hi geecab!

What incredible work!!!
I'm amazed to see this result!

I'll send you a link to see if I can order this rev counter so it's compatible with your software, and I'll order the rest of the equipment.
I'm waiting for your reply.

Thank you, I can't wait.


https://a.aliexpress.com/_Eu4slUw

 ;)

Hi GPForverer2024! Its looks excellent, great price too! Its 12v, and supports 4,6,8 cylinders, the wiring looks the same too. The only thing I'd mention is that it doesn't specifically state its for Petrol or Diesel engines. It does state its "Universal" so I guess that's OK? For that price its kind of worth a punt :)
« Last Edit: June 29, 2025, 12:06:58 pm by geecab »

geecab

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 341
  • Last login:Yesterday at 01:37:10 pm
Re: Sega Monaco GP 1979/1980 - My Remake
« Reply #564 on: June 29, 2025, 12:06:35 pm »
OK, I've just read online that "Petrol revcounters work from electrical pulses taken from the ignition system. Diesel often work from the end of the alternator, mechanically or by pulses from a crank sensor".  The wiring diagram for your revcounter shows simply the green signal source wire going to the ignition coil. So I think its designed to work with petrol engines, so it should be fine with my circuit :)

GPForverer2024

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 81
  • Last login:July 02, 2025, 03:24:52 am
  • I want to build my own arcade controls!
Re: Sega Monaco GP 1979/1980 - My Remake
« Reply #565 on: June 29, 2025, 12:21:11 pm »
Hi Geecab!
Thanks for your quick response.
I've ordered all the equipment.

See you soon.

geecab

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 341
  • Last login:Yesterday at 01:37:10 pm
Re: Sega Monaco GP 1979/1980 - My Remake
« Reply #566 on: June 29, 2025, 12:28:26 pm »
Great stuff GPForverer2024!

I've put together debug version v1.5.1D3.

Monaco GP Remake v1.5.1D3 for Windows (Download via My Google Drive)
Please read the release notes HERE, there's a couple of new sections regarding the relays and revcounter utilities.
 
This debug version has the following modifications:

 - Added new Scoreboard To Revcounter utility source code and exe (Reads MGPr game Revs, and sends them to Arduino).
 - Added Arduino sketch "arduino_rev_sim.ino" (When running on an Arduino, it receives RPM values and generates a series of pulses as output).

:)
« Last Edit: June 29, 2025, 12:31:18 pm by geecab »

geecab

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 341
  • Last login:Yesterday at 01:37:10 pm
Re: Sega Monaco GP 1979/1980 - My Remake
« Reply #567 on: July 01, 2025, 04:16:56 am »
Hi GPForverer2024!

Whoops! I've found a bug in in my scoreboard_to_revcounter util (It was the reason for the strange RPMs I was seeing when I'd set my revcounter cylinder switch to 3,5,6 or 8-cylinder).

I actually think my KET105 revcounter is a good bit of kit now. I've modified the big post I wrote on Sunday to paint it in a better light.

I'll upload a new MGPr package in the next few days that has the fix :)

Swainy

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 39
  • Last login:Today at 01:28:58 pm
  • I want to build my own arcade controls!
Re: Sega Monaco GP 1979/1980 - My Remake
« Reply #568 on: July 01, 2025, 06:55:07 am »
Hi geecab,

I switched on the high score table on my set up last night (only spotted that feature when I was watching through some of your videos. Anyway, when I was pressing my accelerator pedal to select a letter, it wasn’t working. I have to have my pedal selected as inverted in the game options to get it working in game. Just thought I’d mention it so you can add it to the fix list. Cheers!

geecab

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 341
  • Last login:Yesterday at 01:37:10 pm
Re: Sega Monaco GP 1979/1980 - My Remake
« Reply #569 on: July 01, 2025, 01:13:36 pm »
Hi Swainy!

Thanks for letting us know, I'll get that fixed in the next package. In the mean time, if you have a button configured as the 'Start' button (I think its the '1' key by default), you should be able to press that to select a letter.

:)

GPForverer2024

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 81
  • Last login:July 02, 2025, 03:24:52 am
  • I want to build my own arcade controls!
Re: Sega Monaco GP 1979/1980 - My Remake
« Reply #570 on: July 02, 2025, 03:24:53 am »
Hi Geecab!

No worries.

I'm waiting to receive my equipment.

I can't wait to try it out! See you soon.
 ;)

geecab

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 341
  • Last login:Yesterday at 01:37:10 pm
Re: Sega Monaco GP 1979/1980 - My Remake
« Reply #571 on: July 02, 2025, 03:57:07 am »
Hi geecab,

I switched on the high score table on my set up last night (only spotted that feature when I was watching through some of your videos. Anyway, when I was pressing my accelerator pedal to select a letter, it wasn’t working. I have to have my pedal selected as inverted in the game options to get it working in game. Just thought I’d mention it so you can add it to the fix list. Cheers!

Hi Swainy!

Just done a quick test with my analog pedal but this seems to be working for me. Can I just double check your config settings are the same as mine:

    ACCELERATOR_DEVICE = "KEYBOARD/MOUSE/JOYSTICK STICK Y AXIS"
    ACCELERATOR_INVERT = "YES"
    ACCELERATOR_RANGE = "-1 to +1"

Also, please can you let me know what MGPr package version you are running, and also the name of the configuration file you are modifying.

BTW. To choose a letter when entering your name, you have to press and then release your pedal (Not just hold it down), its needs to see a complete 'press' if that makes sense?

:)


geecab

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 341
  • Last login:Yesterday at 01:37:10 pm
Re: Sega Monaco GP 1979/1980 - My Remake
« Reply #572 on: July 02, 2025, 04:28:08 am »
Hi Swainy!

Me again! I think this is something I fixed last year, just checked the v1.5.1 package and the accelerator is broken during the Enter Your Name section as you describe. Sorry, I should have realised this earlier.

If you are running windows, you could try the debug version v1.5.1D3 I recently uploaded. I think it should be fixed in there.

:)

Swainy

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 39
  • Last login:Today at 01:28:58 pm
  • I want to build my own arcade controls!
Re: Sega Monaco GP 1979/1980 - My Remake
« Reply #573 on: July 02, 2025, 03:16:40 pm »
Hi Swainy!

Me again! I think this is something I fixed last year, just checked the v1.5.1 package and the accelerator is broken during the Enter Your Name section as you describe. Sorry, I should have realised this earlier.

If you are running windows, you could try the debug version v1.5.1D3 I recently uploaded. I think it should be fixed in there.

:)

Yep, that is working lovely! Cheers mate!

geecab

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 341
  • Last login:Yesterday at 01:37:10 pm
Re: Sega Monaco GP 1979/1980 - My Remake
« Reply #574 on: July 05, 2025, 06:28:25 am »
Hi GPForverer2024 and Swainy!

I've put together another debug version v1.5.1D4.

Monaco GP Remake v1.5.1D4 for Windows (Download via My Google Drive)
Please read the release notes HERE.
 
This debug version has the following modifications:

 - Fix bug in Scoreboard To Revcounter utility that was giving strange
   RPMs readings if you had set a cylinder value to 3, 5, 6 or 8 cylinder.
 - When the Enter Your Name screen first appears, ensure the player is off the
   gas before we start detecting pedal presses.

@Swainy - Just letting you know (No need to try this debug version if you're happy with v1.5.1D3) - I've fixed another silly bug I noticed when trying to recreate the Pedal/EnterYourName issue you mentioned before. That was, if I was stepping ON the gas just when the EnterYourName screen appears, then as soon as I stepped OFF the gas a letter would be selected (Which was too soon). Letter selections happen when the gas pedal moves from the ON to the OFF position. I've fixed this by waiting for the gas pedal be in the OFF position before I start detecting letter selections. Hope that make sense, probably too much information lol!

:)