don't click here

Using your computer as a Genesis/MD. controller

Discussion in 'General Sonic Discussion' started by Wurly, Aug 17, 2005.

Thread Status:
Not open for further replies.
  1. Wurly

    Wurly

    :| Tech Member
    Hey, I'm new here but I have been interested in Sonic 2 Beta for a LONG time. I am a programmer and have developed a program that uses a modified version of MoD's cord at his site. The program allows you to control the Genesis/Megadrive like a controller by pressing the keys on your keyboard, kind of like how you control gens. But this isn't an ordinary controller; you can also record macros, unlike any ordinary controller. If you do not know what MoD's cord was, It was a cord that allowed you to dump cartridges with the Sega CD. Instead Of wiring pin 6 to pin 15 and pin 9 to 13, I wired pin 6 to pin 6 and pin 9 to pin 7. If you decide to make this cord, then download the program here. I really hope some people try this out, and I'm sorry about my poor grammar. Thanx,

    Josh.
     
  2. SmashFGM

    SmashFGM

    Member
    49
    0
    0
    The link dosent work.
     
  3. Aurochs

    Aurochs

    Единый, могучий Советский Союз! Tech Member
    2,343
    0
    0
    Whatever catches my fancy
    Apparenty, remote linking to 50megs.com is forbidden. Damn adverts.
     
  4. Wurly

    Wurly

    :| Tech Member
    Ya. Hold on let me host it somewhere else.

    EDIT: OK, I'm not hosting it somewhere else, I'm just linking to a page on my site that you can then download it from. Hopefully it should work, try THIS LINK HERE!!
     
  5. LocalH

    LocalH

    roxoring your soxors Tech Member
    If you can figure out a way to tie in a reset line and support Gens Movie Test GMV files, then you will have been the first person to actually attempt (and hopefully succeed) at playing back tool-assisted speedruns on the real hardware (which I've long theorized is fully possible).
     
  6. Wurly

    Wurly

    :| Tech Member
    So you are saying a GMV file is kind of like a Macro then?? And maybe I could convert that to a macro file for use in my program?? Well if so, I'd need some info on the file format. But I don't think that's what you are saying. Can you explain this to me??
     
  7. Frigidare

    Frigidare

    Above picture copyright of IFG Publications Member
    I may be wrong, but I think a .GMV file is simply a list telling (a specially modded version of) the Gens what buttons were pressed when. This is used to make videos that can be played back on this special Gens.
     
  8. Wurly

    Wurly

    :| Tech Member
    And that is exactly what the macro files in my program do. They tell what button is pressed and when it was pressed, the offset tells when it was pressed and whatever value at that offset is what button was pressed at that time. So can I get the file format of these GMV files??? I will implement a feature to the program that does this ASAP once I get the info I need.

    OK!! I have found all the info needed. One word: Google. Now let me get to programming, and I WILL post a version that reads GMV files. Bye...
     
  9. Heran Bago

    Heran Bago

    Ah! It's Puyo battle then. Tech Member
    Yea Frig. THat's a macro. Think MMORPG macros where your characters kills monsters while you watch TV somewhere else.
    I'm interested jjftails, keep us posted.
     
  10. Wurly

    Wurly

    :| Tech Member
    OK!!! It works with GMV files now... I haven't had one to test it out on though. Is there a program I can use to play these gmv files with so I can compare them to how they are with the real genesis/megadrive?? Unless I'm running an outdated version of GENS. It is getting kind of late, and I doubt it will work with the GMV files, but It did show signs of buttons being pressed when playing the GMV files... so I am not sure. Tomorrow I will work on it some more. Test it out and tell me how it is. The new version is on the same link, at the home screen of the program, just press G and then it will ask you to type in where the GMV file is. Then it will perform it. I PREFER recording Just Macros with this, and Playing back the macros you recorded. SO I hope you guys like it!! I only have 25 posts left after this!!
     
  11. LocalH

    LocalH

    roxoring your soxors Tech Member
    Here's the particular emulator I'm talking about, it's a modified version of Gens that supports recording and playback of input movies (which are just "macros" as you put it, which correspond to which buttons are pressed on each frame). Here are the specifications of the GMV format. Here are a bunch of different tool-assisted speedruns in GMV format, made with Gens Movie Test. If you don't already know, note that these runs are created with emulator slowdown and use of savestates to fix errors, and are not indicative of a person's actual realtime performance at a game. For completeness, here is a page on SHIT that I wrote up about the emulator.

    To play these, you'll probably have to have frame-exact timing, so that you can send the button presses on exactly the right frames (even a single frame delay can cause major desynching).
     
  12. Wurly

    Wurly

    :| Tech Member
    This could come in handy, the Genesis/MD NEVER Freezes or slows down, so the only problem is if the computer were to slow down, and this program is in DOS so it is very unlikely to slow down. I'm making this in qbasic, OK. I want the program not to loop so fast when playing these files, I am trying to do things with the TIMER command, but I am too confused on how to slow the loop down to a time that will work with the sega. Any suggestions??
     
  13. LocalH

    LocalH

    roxoring your soxors Tech Member
    I would imagine the best thing to do would be to find some way to make an exact 50Hz or 60Hz rate, since that's the frame rate of PAL MDs and NTSC Gennys respectively. Unfortunately, I don't work with QBasic, so I couldn't give you any pointers there - the best way may very well be to use a tiny bit of assembly for the synchronization. All the movies on that site are meant for use in NTSC mode (usually USA but sometimes JPN). Since you're doing this in DOS, you don't have to worry about the OS making you blow a frame.
     
  14. Vangar

    Vangar

    Member
    3,654
    62
    28
    Whoa! Qbasic! I worked in that a looooong time ago. Have you got 4.5? That has a built in compiler.
     
  15. Wurly

    Wurly

    :| Tech Member
    Qbasic=Really Easy :D . that's why I use it. For this program it would be the best thing to use because sending out through the paralell port is just done by a simple command: OUT 888, value. Value being the value sent out through the paralell port converted from a binary value and whatever digit it is is what pin it is, and the value of that digit determines if the pin is high or low. Simple! ;)
    Hopefully you understood that...
     
  16. LocalH

    LocalH

    roxoring your soxors Tech Member
    This won't help much with a DOS program (well, it can be tried in XP with UserPort but I wouldn't expect something like this to work immediately), but there is a program called ParMon that will show you the pins and the values writes to each port (being 0x378 through 0x37A). I like to run it when using my SMD, and seeing the lights flickering while the SMD receives the data.
     
  17. Wurly

    Wurly

    :| Tech Member
    Ok I am back. There is one way I can get this GMV Reader thing to work. If you are familiar with visual basic, you may understand this, but... I am Going through a While Loop when sending the data to the genesis.Every time it loops it sends the data from one byte in the GMV file, and then when it loops it sends the data from the next byte and so on. I only want this While loop to be performed 60 times a second, or 50 times a second. Any suggestions???? Thanks,
    Josh.

    BTW, Click on the pic in my sig. to get the program. Inside tells you how to make the cord and how to use the program.
     
  18. Quickman

    Quickman

    be attitude for gains Tech Member
    5,595
    18
    18
    :x
    omg porjcet
    You may well need to look at the assembly and the processor timings to find out how much lag you'll need to add to the loop. That'd be difficult in BASIC - C or .NET would have a far easier time.
     
  19. Wurly

    Wurly

    :| Tech Member
    Any more help?? Please, I'd appreciate it. :rolleyes:
     
  20. Vangar

    Vangar

    Member
    3,654
    62
    28
    When I made QBASIC programs years ago, I always used music tones to lag it a little. I can't remember the command though, sorry. :rolleyes:
     
Thread Status:
Not open for further replies.