Megadrive/Genesis core port to V2

Caution: Non registered users only see threads and messages in the currently selected language, which is determined by their browser. Please create an account and log in to see all content by default. This is a limitation of the forum software.


Also users that are not logged in can not create new threads. This is a, unfortunately needed, counter measure against spam. Please create an account and log in to start new threads.

Don't Panic. Please wash hands.
  • It used to be the case that only 2 button pads were supported, but 3-button pad support was added to the docking station framework some time ago.


    I also believe, though I'm not 100% sure, that it's possible to read three buttons from the C64 game port - but only if a gamepad's wired a specific way. (Amiga pads on the docking station pull pins 5 and 9 low for button 2 + 3 ; to work on the C64's game port they would have to pull those lines high instead... I think.)


    It's true, however, that genuine Sega and CD32 pads aren't supported at all on the Chameleon, because the DB9s on the docking station are strictly unidirectional. If memory serves, this was the reason the Megadrive core's original author abandoned the project.

  • Quote

    I also believe, though I'm not 100% sure, that it's possible to read three buttons from the C64 game port - but only if a gamepad's wired a specific way. (Amiga pads on the docking station pull pins 5 and 9 low for button 2 + 3 ; to work on the C64's game port they would have to pull those lines high instead... I think.)

    That is 100% correct - see here

  • So I gather from this that it's best to use either the CDTV remote or PS/2 keyboard. I will do some more testing. I'm only used to one button joysticks on C64 or Amigas. Never played or owned consoles. So it's kinda confusing for me 8|^^


    I took the plunge and added 'complete' libraries of games for NES and Megadrive. Maybe a bit overkill for the menu system and considering I don't know much about console games. Maybe I should instead start with a few good games to test out :D

  • The menu in the current Megadrive core is buggy, so it won't cope well with huge numbers of files. I should be able to update it soon, though.


    The NES core should cope a bit more gracefully, but might get slow as you browse a large directory. It also doesn't do any form of alphabetical sorting. (It's running within very tight RAM confines.)


    The CDTV pad is actually a lot better I'd expected it to be - it's not perfect, but it does work surprisingly well.

  • The menu in the current Megadrive core is buggy, so it won't cope well with huge numbers of files. I should be able to update it soon, though.


    The NES core should cope a bit more gracefully, but might get slow as you browse a large directory. It also doesn't do any form of alphabetical sorting. (It's running within very tight RAM confines.)


    The CDTV pad is actually a lot better I'd expected it to be - it's not perfect, but it does work surprisingly well.

    The SD card init fail I get when starting megadrive core and PC-engine, could it be related to the SD card being almost full? I tried the CDTV remote with a familiar game I play quite alot on the C64/C64 core. It's Soul Force. I was useless with the CDTV remote. With the Joystick I had no issues. Maybe I need some training with the remote then :D Maybe some day I get good

  • Quote

    The SD card init fail I get when starting megadrive core and PC-engine, could it be related to the SD card being almost full?

    More likely a screwed up Filesystem... generally for those cores its a good idea to use a fresh card formatted with "SD Formatter" and then only add files to it, dont delete any. Especially windows has a tendency to screw up the second FAT copy on the card, which can confuse the very barebones/limited filesystem implementations.

  • Just a psa, better don’t plug original Megadrive/Genesis controllers into a C64. It might destroy your cia and your controller.

    I will not do that. But I assume it wouldn't hurt the TC64V2/docking station?

    More likely a screwed up Filesystem... generally for those cores its a good idea to use a fresh card formatted with "SD Formatter" and then only add files to it, dont delete any. Especially windows has a tendency to screw up the second FAT copy on the card, which can confuse the very barebones/limited filesystem implementations.

    Maybe. Strange that it does not come with any init faults with the NES core. I don't want to format this card. It has like 15GB of software and it will take ages to copy it back after a format. It's not the fastest SD card. I may try other SD cards to see if I get the init errors. As said, it works if I eject and insert it when I get this error message.

  • I will not do that. But I assume it wouldn't hurt the TC64V2/docking station?

    Maybe. Strange that it does not come with any init faults with the NES core. I don't want to format this card. It has like 15GB of software and it will take ages to copy it back after a format. It's not the fastest SD card. I may try other SD cards to see if I get the init errors. As said, it works if I eject and insert it when I get this error message.

    A megadrive pad shouldn't hurt the docking station but wouldn't be super-useful either because you'll only be able to use buttons B and C.


    If the same SD card works OK on the NES core then it's purely a firmware issue with the Megadrive and PC-engine cores, which share the same control module. I can update both cores in due course, which should fix the issue.

  • A megadrive pad shouldn't hurt the docking station but wouldn't be super-useful either because you'll only be able to use buttons B and C.


    If the same SD card works OK on the NES core then it's purely a firmware issue with the Megadrive and PC-engine cores, which share the same control module. I can update both cores in due course, which should fix the issue.

    It still might hurt the controller, as it would feed 5v into an output. http://wiki.icomp.de/wiki/DE-9_Joystick

  • It still might hurt the controller, as it would feed 5v into an output. http://wiki.icomp.de/wiki/DE-9_Joystick

    That pin's an output from the computer's point of view rather than the controller's - the controller treats it as select line so it would see +5v as a logic high. If anything, the pad attempting to power itself from the logic signal on pin 5 is more of a concern - but either way, you're right that it's not a good plan to be randomly connecting semi-compatible hardware.

    Sooner or later attention will wander, distractions will happen, something will get fried and magic smoke will escape!

  • btw, the various cores that has a VGA or TV config file. It is clear to me that I can select one of them. But do they go into the root of the SD card or they are supposed to be in a separate config folder? Also, are these only for video settings or do these store the whole config of each core?

  • btw, the various cores that has a VGA or TV config file. It is clear to me that I can select one of them. But do they go into the root of the SD card or they are supposed to be in a separate config folder? Also, are these only for video settings or do these store the whole config of each core?

    They go in the root, and should store all settings. (The only reason I supply the two presets is that with the wrong setting you might not be able to see the menu to change it.)

  • They go in the root, and should store all settings. (The only reason I supply the two presets is that with the wrong setting you might not be able to see the menu to change it.)

    Hello Alastair, I tried the NES core and I have that issue that I am not able to see the menu sometimes. Not sure if it is a display issue (the screen is set at 50Hz and I aim to use PAL configuration), or a joypad issue (some kind of menu triggering + instantaneous click on Exit). I manage to solve it by plugging a Genesis controller on the docking station, then pressing down manages to open the menu, but the same button makes sometimes down + fire action instead of just down, it is a bit weird. If i use a standard C64 controller the menu does not display (I see only flashes of the menu appear on the screen). Pressing F12 on the keyboard does not help either.


    Anyway, thanks for the great work ! I gave a look at the source code and I am considering more and more supporting your work, thinking about an Amstrad core for the Chameleon :) Also had some fun going through the NES core source code, and in particular the SD card driver and the comments like 'what were they smoking when they designed this' :D

  • Hello Alastair, I tried the NES core and I have that issue that I am not able to see the menu sometimes. Not sure if it is a display issue (the screen is set at 50Hz and I aim to use PAL configuration), or a joypad issue (some kind of menu triggering + instantaneous click on Exit). I manage to solve it by plugging a Genesis controller on the docking station, then pressing down manages to open the menu, but the same button makes sometimes down + fire action instead of just down, it is a bit weird. If i use a standard C64 controller the menu does not display (I see only flashes of the menu appear on the screen). Pressing F12 on the keyboard does not help either.


    Anyway, thanks for the great work ! I gave a look at the source code and I am considering more and more supporting your work, thinking about an Amstrad core for the Chameleon :) Also had some fun going through the NES core source code, and in particular the SD card driver and the comments like 'what were they smoking when they designed this' :D

    Thanks for the report - remind me, do you have a TC64 V1 or V2?

    I'm aware of a problem with the docking station - it's a continuation of the usual joystick-interferes-with-keyboard-scanning problem. I'm doing some filtering now which I hope will fix it in the next release - but we shall see!


    (An Amstrad core would be great - I want to bring BBC, Archimedes and Amstrad to TC64 - but since all will require disk image support, it's a bit more complicated than a fire-and-forget ROM upload mechanism. As for the comments, there you have a window into my disbelief of how crazily convoluted it is to figure out the size of an old-style SD card!)

  • Fortunately, the new Sega Master System Core on my TC64V1 recognizes my 32GB SDHC card. Why can't the Sega Mega Drive Core do that too?

    Short answer: the Master System core's control module has the benefit of a few extra years' experience and bug fixing, and runs on a whole new soft CPU written specifically for this kind of task. I'll bug-fix the Megadrive and PC Engine cores at some point - there are upstream improvements to both as well.

  • The last reply was more than 365 days ago, this thread is most likely obsolete. It is recommended to create a new thread instead.