Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - Emulicious Oddity

Reply to topic
Author Message
  • Joined: 06 Aug 2021
  • Posts: 49
Reply with quote
Emulicious Oddity
Post Posted: Wed Jan 19, 2022 9:26 pm
Hey all,

I was working on a simple "move character around screen" program in assembly and was using emulicious to debug. I got it working perfectly fine in emulicious, so I tried it out on real hardware (Model 1 Genesis) and the control didn't work. The character would just move upwards.

Then I tried on a model 2 genesis and I couldn't move at all. This was the same when I ran it in MEKA.

Long story short, I had been reading from port $DE instead of $DC (Joypad port 1) on the VDP, so I fixed the problem, but I'm not sure why it worked in Emulicious though as it seems that it shouldn't have been working at all. Just thought I'd share, and wondered if anyone had any theories as to why this would have happened. I'm quite curious
  View user's profile Send private message
  • Joined: 14 Apr 2013
  • Posts: 623
Reply with quote
Post Posted: Wed Jan 19, 2022 9:53 pm
bofner wrote
Hey all,

I was working on a simple "move character around screen" program in assembly and was using emulicious to debug. I got it working perfectly fine in emulicious, so I tried it out on real hardware (Model 1 Genesis) and the control didn't work. The character would just move upwards.

Then I tried on a model 2 genesis and I couldn't move at all. This was the same when I ran it in MEKA.

Long story short, I had been reading from port $DE instead of $DC (Joypad port 1) on the VDP, so I fixed the problem, but I'm not sure why it worked in Emulicious though as it seems that it shouldn't have been working at all. Just thought I'd share, and wondered if anyone had any theories as to why this would have happened. I'm quite curious

The only oddity is that you emulate an SMS and expect that an MD behaves the same. ;)
On SMS, all even ports between $C0-$FE read from the first I/O port, all odd ports between $C1-$FF read from the second I/O port.
On MD, only $C0 and $DC work for the first port and $C1 and $DD for the second port.
  View user's profile Send private message Visit poster's website
  • Joined: 06 Aug 2021
  • Posts: 49
Reply with quote
Post Posted: Wed Jan 19, 2022 10:03 pm
Calindro wrote

On SMS, all even ports between $C0-$FE read from the first I/O port, all odd ports between $C1-$FF read from the second I/O port.
On MD, only $C0 and $DC work for the first port and $C1 and $DD for the second port.

Oh wow! That's interesting. I wonder why MEKA acted the same way as my Genesis model 2 then. I'm getting a real SMS shortly, so hopefully I'll be able to start testing on that soon!

Sort of off topic, but do you know why some games (Like Alien Syndrome) only work with the SMS controller? Is that more of a hardware/voltage related thing?
  View user's profile Send private message
  • Joined: 14 Apr 2013
  • Posts: 623
Reply with quote
Post Posted: Thu Jan 20, 2022 12:18 am
bofner wrote
Calindro wrote

On SMS, all even ports between $C0-$FE read from the first I/O port, all odd ports between $C1-$FF read from the second I/O port.
On MD, only $C0 and $DC work for the first port and $C1 and $DD for the second port.

Oh wow! That's interesting. I wonder why MEKA acted the same way as my Genesis model 2 then. I'm getting a real SMS shortly, so hopefully I'll be able to start testing on that soon!

Sort of off topic, but do you know why some games (Like Alien Syndrome) only work with the SMS controller? Is that more of a hardware/voltage related thing?

Yes, the game does region detection at the beginning and leaves the TH signal low.
On MD controllers, the TH signal is used for multiplexing the buttons so its returning the "wrong" set of buttons.
  View user's profile Send private message Visit poster's website
Reply to topic



Back to the top of this page

Back to SMS Power!