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 - SG-1000 to/from ColecoVision ports

Reply to topic Goto page 1, 2, 3, 4, 5  Next
Author Message
  • Site Admin
  • Joined: 08 Jul 2001
  • Posts: 8643
  • Location: Paris, France
Reply with quote
SG-1000 to/from ColecoVision ports
Post Posted: Wed Apr 04, 2007 7:48 pm
Some people are porting SG-1000 games to ColecoVision. Some interesting technical infos posted along the way.
See:
http://www.atariage.com/forums/index.php?showtopic=104734
http://www.atariage.com/forums/index.php?showtopic=104706

Maybe it could give ideas and motivation to do porting in the other way :)
  View user's profile Send private message Visit poster's website
  • Joined: 21 Nov 2005
  • Posts: 150
  • Location: Sydney, NSW, Australia
Reply with quote
Post Posted: Wed Aug 01, 2007 4:56 pm
Porting the other way is a bitch. I tried this. Colecovision games use BIOS routines quite often, so you need to port the BIOS as well...and the memory map is slightly different. Its a challenge.

I got the BIOS to boot on the SMS though :D
  View user's profile Send private message Visit poster's website
PkK
  • Guest
Reply with quote
Post Posted: Sun Aug 05, 2007 9:18 pm
Bock wrote
Some people are porting SG-1000 games to ColecoVision. Some interesting technical infos posted along the way.
See:

[links removed so I can post]

Maybe it could give ideas and motivation to do porting in the other way :)


Do you suggest porting CV games to the SG-1000 or to the SMS?
How many SC-1000 or SMS gamers are still out there waiting for new games?

Philipp
 
  • Joined: 25 Feb 2006
  • Posts: 862
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Mon Aug 06, 2007 12:55 pm
Well, porting to the SG-1000 would actually be the easier way, but porting to the SMS would allow you to enhance the graphics later. ;)
BTW, it seems that Bruce Tomlim (the one who's porting Black Onyx to the SG-1000) made available the commented ASM code for his port. Maybe it could be used for making an SMS-enhanced version of Black Onyx.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 08 Jul 2001
  • Posts: 8643
  • Location: Paris, France
Reply with quote
Post Posted: Mon Aug 06, 2007 1:23 pm
"Porting to the SMS" at first can mean taking advantage of SMS additional RAM. This could be helpful to store a hacked copy of ColecoVision BIOS functions, making a straight port easier. Rewiring the game to take advantage of SMS graphics is another thing.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14652
  • Location: London
Reply with quote
Post Posted: Mon Aug 06, 2007 1:53 pm
Hacking an SG-1000 game to have SMS graphics is one of my many "what-if" ideas. However, the major differences between the video modes would be quite a challenge, although probably easier on certain games.
  View user's profile Send private message Visit poster's website
  • Joined: 10 Oct 1999
  • Posts: 211
  • Location: Lebanon, New Hampshire, USA
Reply with quote
My abandoned Gyruss port
Post Posted: Mon Aug 06, 2007 3:44 pm
Much to sniff at here. I'm proud of the BIOS portion, but the game rom disassembly just got way too difficult, at least with SMSExamine and DasmX.

Hopefully there are some good ideas in there for others to build on.
041505 halt2ei.zip (69.78 KB)
Aborted Gyruss port

  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 08 Jul 2001
  • Posts: 8643
  • Location: Paris, France
Reply with quote
Post Posted: Wed Aug 22, 2007 7:04 pm
Mike,
Does this code assemble into something that does.. something?

Did you do the BIOS disassembly? Seems very well commented.
Where are those comments from?
; Author: Coleco Industries Inc.
; Advanced Research & Development - Software Engineering
;
; UserID: OS
;
; Starting date: A long long time ago in a galaxy far far away . . .
;
; Prom release date: 24 Nov 1982. For internal use only
; Prom release rev: 7B
;
; Prom release date: December 28, 1982
; Prom release rev: 7PRIME
;
; Header Rev: 2
;
; ****************************************************************************
; * *
; * ColecoVision Operating System *
; * Absolute Listing ( REV 7PRIME ) *
; * ® Coleco Industries 1982 *
; * *
; * *** Confidential *** *
; * *
; ****************************************************************************
  View user's profile Send private message Visit poster's website
  • Joined: 10 Oct 1999
  • Posts: 211
  • Location: Lebanon, New Hampshire, USA
Reply with quote
Good question!
Post Posted: Wed Aug 22, 2007 8:40 pm
First off, I should note that I obtained a complete BIOS listing from... somewhere. I forgot. It certainly looked like it was the original sourcecode and not a disassembly. I will post it if there's interest; I just assumed that it was common. If you're looking for a task that will completely fail to challenge you, try telling which comments come from me and which come from the original author.

As for Bock's point about what, if anything, this does: well, it does display the intro screen of Gyruss, with bonus glitchiness. In Meka. If you squint real hard. If you cut all of the Gyruss bits out and just assemble the BIOS, you'll get the BIOS screen. So I've got that going for me.

Anyway, I just thought I'd share what I had to show one way of converting Colecovision games, specifically with respect to remapping ROM and RAM.
  View user's profile Send private message Visit poster's website
  • Joined: 17 Jan 2020
  • Posts: 118
  • Location: Brisbane, AU
Reply with quote
Post Posted: Fri Jan 17, 2020 5:32 am
Here's my attempt at porting Gyruss to SG-1000
Gyruss.zip (17.96 KB)

  View user's profile Send private message Visit poster's website
  • Joined: 22 Apr 2018
  • Posts: 530
Reply with quote
Post Posted: Tue Mar 17, 2020 8:27 pm
under4mhz wrote
Here's my attempt at porting Gyruss to SG-1000


That's awesome! FWIW I included a patch in my latest SG2GG package to get this running on the Game Gear using an EverDrive:

https://www.smspower.org/forums/16912#103058

P.S. For best results, leave the file extension as .sms rather than .gg, so it runs in the Game Gear's GG-SMS mode with an uncropped viewing area
  View user's profile Send private message
  • Joined: 17 Feb 2020
  • Posts: 667
  • Location: United States
Reply with quote
Taylor Stokes' MSX2SMS Ports
Post Posted: Fri Mar 27, 2020 10:38 pm
under4mhz wrote
Here's my attempt at porting Gyruss to SG-1000


Hello there under4mhz. This is a really good conversion for the SG-1000, I'm going to compare it to the original file if that's okay with you.
  View user's profile Send private message
  • Joined: 17 Feb 2020
  • Posts: 667
  • Location: United States
Reply with quote
Post Posted: Fri Mar 27, 2020 10:42 pm
Last edited by Stokes on Fri Mar 27, 2020 10:55 pm; edited 1 time in total
under4mhz wrote
Here's my attempt at porting Gyruss to SG-1000


ColecoVision BIOS works well. Thanks for your hard work. :-)
  View user's profile Send private message
  • Joined: 17 Feb 2020
  • Posts: 667
  • Location: United States
Reply with quote
Post Posted: Fri Mar 27, 2020 10:52 pm
under4mhz wrote
Here's my attempt at porting Gyruss to SG-1000


I got Donkey Kong's intro working.
  View user's profile Send private message
  • Joined: 17 Feb 2020
  • Posts: 667
  • Location: United States
Reply with quote
Post Posted: Fri Mar 27, 2020 11:25 pm
Does anybody else have any ideas for putting Coleco on the SG-1000 or the Master System or even the Game Gear? Maybe an emulator supposing?
  View user's profile Send private message
  • Joined: 22 Apr 2018
  • Posts: 530
Reply with quote
Post Posted: Sat Mar 28, 2020 12:28 am
Stokes wrote
Does anybody else have any ideas for putting Coleco on the SG-1000 or the Master System or even the Game Gear? Maybe an emulator supposing?


Possibly heuristics to rewrite the machine code & allow per-game manual overrides for when the heuristics fail + a tiny porting library to deal with the "more different" parts, mainly input handling? This is a super ignorant guess on my part though
  View user's profile Send private message
  • Joined: 22 Sep 2019
  • Posts: 98
Reply with quote
Post Posted: Sat Mar 28, 2020 11:21 am
Stokes wrote
Does anybody else have any ideas for putting Coleco on the SG-1000 or the Master System or even the Game Gear? Maybe an emulator supposing?

If you're hoping for some magical code that you can just paste onto the ROM and have it run (like the MSX ports) then the answer is no. Even though the hardware is very similar, the way it's setup is too different.

Now, the closest analog for porting Colecovision games to me seems to be the GG2SMS process. So, if you're patient and lucky, you *might* be able to get passable results with find-and-replace hex editing (that's a very big "might", because the memory map is basically completely different, which makes this harder than GG2SMS). But if you want to actually do a decent job of it, you'd want to disassemble the game.
  View user's profile Send private message
  • Joined: 17 Feb 2020
  • Posts: 667
  • Location: United States
Reply with quote
Post Posted: Sun Mar 29, 2020 10:03 pm
Basically, I have failed attempts at creating ColecoVision games for the SG-1000. They're both Super Cobra and Frogger. I'm going to create Q-Bert's Qubes and Star Wars.
  View user's profile Send private message
  • Joined: 05 Dec 2019
  • Posts: 56
  • Location: USA
Reply with quote
Post Posted: Mon Mar 30, 2020 1:51 am
Who owns copyright in the ColecoVision BIOS nowadays?
  View user's profile Send private message Visit poster's website
  • Joined: 17 Feb 2020
  • Posts: 667
  • Location: United States
Reply with quote
Post Posted: Mon Mar 30, 2020 3:21 am
PinoBatch wrote
Who owns copyright in the ColecoVision BIOS nowadays?


I basically don't know the answer to that question. I might look it up.
  View user's profile Send private message
  • Joined: 17 Feb 2020
  • Posts: 667
  • Location: United States
Reply with quote
Post Posted: Mon Mar 30, 2020 3:39 am
I managed to get Q-Bert's Qubes on the SG-1000. It's glitched a little, but here's the file, use down to trigger the numberpad. Enjoy! :-)
Q-Bert's Qubes.zip (16.46 KB)

  View user's profile Send private message
  • Joined: 17 Feb 2020
  • Posts: 667
  • Location: United States
Reply with quote
Post Posted: Fri May 01, 2020 12:36 pm
under4mhz wrote
Here's my attempt at porting Gyruss to SG-1000


I have a question. If the Master System (or SG-1000) has the Texas Instruments SN76489, and the ColecoVision itself uses it too, then shouldn't the sound be playing at the same time the game is?
  View user's profile Send private message
  • Joined: 22 Sep 2019
  • Posts: 98
Reply with quote
Post Posted: Fri May 01, 2020 12:45 pm
Stokes wrote
under4mhz wrote
Here's my attempt at porting Gyruss to SG-1000


I have a question. If the Master System (or SG-1000) has the Texas Instruments SN76489, and the ColecoVision itself uses it too, then shouldn't the sound be playing at the same time the game is?


They're not configured in the same fashion. ColecoVision =/= SG-1000 =/= MSX. It's like the difference between a front-engined car and a rear-engined car, they might use the same engine and battery but they're in different places.
  View user's profile Send private message
  • Joined: 17 Feb 2020
  • Posts: 667
  • Location: United States
Reply with quote
Post Posted: Fri May 01, 2020 2:19 pm
Wafer wrote
Stokes wrote
under4mhz wrote
Here's my attempt at porting Gyruss to SG-1000


I have a question. If the Master System (or SG-1000) has the Texas Instruments SN76489, and the ColecoVision itself uses it too, then shouldn't the sound be playing at the same time the game is?


They're not configured in the same fashion. ColecoVision =/= SG-1000 =/= MSX. It's like the difference between a front-engined car and a rear-engined car, they might use the same engine and battery but they're in different places.


Okay, I get what you mean right here.
  View user's profile Send private message
  • Joined: 22 Sep 2019
  • Posts: 98
Reply with quote
Post Posted: Fri May 01, 2020 6:55 pm
Just to elaborate on this, since I know you're familiar with the MSX -> SMS ports, the ports that work do so only because of a happy accident. As I understand it, MSX devs were encouraged to use the BIOS to access hardware, instead of directly. The MSX -> SMS loaders are basically versions of the MSX BIOS that have been modified for an SG-1000 configuration, instead of MSX. MSX games that do access the hardware directly would need to have assembly-level changes to even stand a chance of working properly on Sega hardware.

By comparison, the ColecoVision was initially advertised as being MSX-compliant, but in the end it was sufficiently different that they had to walk back that claim.
  View user's profile Send private message
  • Joined: 14 Oct 2008
  • Posts: 507
Reply with quote
Post Posted: Sat May 02, 2020 7:28 pm
I would assume that MSX developers were encouraged to use the BIOS due to that MSX was a hardware platform meant to be built by different companies, who would presumably each write their own BIOS. So there needed to be some compatibility for the same software to run on hardware from different manufacturers. (that is, the BIOS is formatted such that the beginning is a series of Jump commands forming a table of contents to where each of the functions are stored in the BIOS. So compliant software would have to call functions from that table rather than directly.)

(as opposed to say, the Famicom Disk System where games accessed its BIOS by jumping to direct memory locations in the BIOS. So when Sharp made a licensed clone on it, they really couldn't change anything in the code except the startup logo without affecting compatibility)
  View user's profile Send private message
  • Joined: 17 Jan 2020
  • Posts: 118
  • Location: Brisbane, AU
Reply with quote
Post Posted: Thu Jun 11, 2020 5:55 pm
Stokes wrote
I have a question. If the Master System (or SG-1000) has the Texas Instruments SN76489, and the ColecoVision itself uses it too, then shouldn't the sound be playing at the same time the game is?


Yes, you're right. I had the wrong port number for the Colecovision. I forget about the sound, because I usually have it off.
Gyruss.zip (17.96 KB)

  View user's profile Send private message Visit poster's website
  • Joined: 17 Jan 2020
  • Posts: 118
  • Location: Brisbane, AU
Reply with quote
Post Posted: Tue Jun 16, 2020 2:59 pm
Some more ports in various states of repair.
Colecovision.zip (585.22 KB)

  View user's profile Send private message Visit poster's website
  • Joined: 08 Apr 2011
  • Posts: 29
Reply with quote
Post Posted: Fri Jun 26, 2020 2:05 am
under4mhz wrote
Some more ports in various states of repair.


Thanks for those. What did you test them on?
  View user's profile Send private message
  • Joined: 17 Jan 2020
  • Posts: 118
  • Location: Brisbane, AU
Reply with quote
Post Posted: Mon Jun 29, 2020 11:36 pm
Greg2600 wrote
Thanks for those. What did you test them on?


I tested them on Emulicious.
  View user's profile Send private message Visit poster's website
  • Joined: 17 Feb 2020
  • Posts: 667
  • Location: United States
Reply with quote
Post Posted: Thu Jul 09, 2020 11:33 pm
I was never aware of this, thanks to The New Retro Show for directing me here. under4mhz, you're a legend, Coleco games now with sound, heck yeah. Thank you. Beats my emulator.
  View user's profile Send private message
  • Joined: 17 Feb 2020
  • Posts: 667
  • Location: United States
Reply with quote
Post Posted: Wed Jul 15, 2020 2:32 pm
under4mhz wrote
Some more ports in various states of repair.


Also, if there is any way if it's possible, I was wondering if you can extend the loader for 24 or 32 kilobyte games.
  View user's profile Send private message
  • Joined: 17 Jan 2020
  • Posts: 118
  • Location: Brisbane, AU
Reply with quote
Post Posted: Tue Jul 21, 2020 11:27 pm
It would be a much bigger job. I take advantage of the overlap in the ROM space between SG and Coleco, so I don’t have to change any ROM addresses, which include: data, jumps and calls. Right now with 16K ROMS, I change only the RAM addresses.

The table below shows the ROM areas in both systems. I put the Coleco ROM at the 32K boundary which gives me 16K of ROM space.

Otherwise for 32K ROMs, I have to move the ROM and all the calls backward, or alternatively move the last 16K of the ROM to the 8K boundary and adjust any calls to that segment. The jumps and calls would probably be doable, I can search for JP and CALL instructions, but the data locations are arbitrary and not easily detectable.


Addr    Colecovision              SG-1000/SMS
----------------------------------------------------------------------
0K    8K  BIOS                    8K  ROM
8K    8K  Expansion               8K  ROM
16K   8K  Expansion               8K  ROM
24K   8K  RAM (1K mirrored)       8K  ROM
32K   16K ROM                     16K ROM <-- Overlap
48K   16K ROM                     16K RAM (1K mirrored)
  View user's profile Send private message Visit poster's website
  • Joined: 17 Feb 2020
  • Posts: 667
  • Location: United States
Reply with quote
Post Posted: Fri Jul 24, 2020 10:51 pm
under4mhz wrote
It would be a much bigger job. I take advantage of the overlap in the ROM space between SG and Coleco, so I don’t have to change any ROM addresses, which include: data, jumps and calls. Right now with 16K ROMS, I change only the RAM addresses.

The table below shows the ROM areas in both systems. I put the Coleco ROM at the 32K boundary which gives me 16K of ROM space.

Otherwise for 32K ROMs, I have to move the ROM and all the calls backward, or alternatively move the last 16K of the ROM to the 8K boundary and adjust any calls to that segment. The jumps and calls would probably be doable, I can search for JP and CALL instructions, but the data locations are arbitrary and not easily detectable.


Addr    Colecovision              SG-1000/SMS
----------------------------------------------------------------------
0K    8K  BIOS                    8K  ROM
8K    8K  Expansion               8K  ROM
16K   8K  Expansion               8K  ROM
24K   8K  RAM (1K mirrored)       8K  ROM
32K   16K ROM                     16K ROM <-- Overlap
48K   16K ROM                     16K RAM (1K mirrored)


Okay. But while we're just still here about this, I was able to add extra code to the loader and doing some demos and game titles for the SG-1000, some partially work.
Edit: Pac-Man is going to be a heck of a game I've converted, if there is a turbo start mode, then lucky for you, but, you have to keep pushing start all the way to every screen.

  View user's profile Send private message
  • Joined: 17 Feb 2020
  • Posts: 667
  • Location: United States
Reply with quote
Post Posted: Tue Sep 01, 2020 8:56 pm
MadMikeAU wrote
Porting the other way is a bitch. I tried this. Colecovision games use BIOS routines quite often, so you need to port the BIOS as well...and the memory map is slightly different. Its a challenge.

I got the BIOS to boot on the SMS though :D


Coleco is easy to port to any Sega 8-Bit System, I changed every 70, 71, 72, and 73 value to C0, C1, C2, and C3. It works. :-)
  View user's profile Send private message
  • Joined: 22 Sep 2019
  • Posts: 98
Reply with quote
Post Posted: Wed Sep 02, 2020 10:32 am
Stokes wrote
Coleco is easy to port to any Sega 8-Bit System, I changed every 70, 71, 72, and 73 value to C0, C1, C2, and C3. It works. :-)

It works on this occasion by chance. Without an actual disassembly, there's no way to know whether you're changing data or instructions, or whether you're changing the right instructions.

Also, you realize you're replying to a post from over a decade ago, right?
  View user's profile Send private message
  • Joined: 17 Feb 2020
  • Posts: 667
  • Location: United States
Reply with quote
Post Posted: Wed Sep 02, 2020 3:19 pm
Wafer wrote
Stokes wrote
Coleco is easy to port to any Sega 8-Bit System, I changed every 70, 71, 72, and 73 value to C0, C1, C2, and C3. It works. :-)

It works on this occasion by chance. Without an actual disassembly, there's no way to know whether you're changing data or instructions, or whether you're changing the right instructions.

Also, you realize you're replying to a post from over a decade ago, right?


Okay, and oh, I see.
  View user's profile Send private message
  • Joined: 17 Feb 2020
  • Posts: 667
  • Location: United States
Reply with quote
Post Posted: Wed Sep 02, 2020 3:24 pm
I was able to get other Coleco BIOS to work too, and Q-Bert's Qubes on these systems have the right music, but in the instructions, Q-Bert sounds like a rocket flying in space, in the gameplay, he just sounds like the last note played at the end of the new round theme. If you guys want it, I can send it in now.
  View user's profile Send private message
  • Joined: 10 Jan 2021
  • Posts: 12
Reply with quote
Post Posted: Sun Jan 10, 2021 8:56 pm
Stokes: Could you please take a look at H.E.R.O. & Tank Wars from the Colecovision.zip above? Two of my favorites which seem to almost work, H.E.R.O. loads but glitches when you press a directional key ingame & Tank Wars has weird white vertical lines all across (meka).

Maybe these are quick fixes? Thanks!
Tank Wars.png (5 KB)
Tank Wars.png

  View user's profile Send private message
  • Joined: 17 Feb 2020
  • Posts: 667
  • Location: United States
Reply with quote
Post Posted: Sun Jan 10, 2021 10:48 pm
elfor wrote
Stokes: Could you please take a look at H.E.R.O. & Tank Wars from the Colecovision.zip above? Two of my favorites which seem to almost work, H.E.R.O. loads but glitches when you press a directional key ingame & Tank Wars has weird white vertical lines all across (meka).

Maybe these are quick fixes? Thanks!

Hmmm...
I will see.
  View user's profile Send private message
  • Joined: 22 Sep 2019
  • Posts: 98
Reply with quote
Post Posted: Mon Jan 11, 2021 12:38 pm
elfor wrote
Stokes: Could you please take a look at H.E.R.O. & Tank Wars from the Colecovision.zip above? Two of my favorites which seem to almost work, H.E.R.O. loads but glitches when you press a directional key ingame & Tank Wars has weird white vertical lines all across (meka).

Maybe these are quick fixes? Thanks!


I'd recommend testing Tank Wars on hardware if you're able to, since there are no problems with the graphics in Emulicious. Could just as easily be a bug with MEKA.

H.E.R.O. looks a bit interesting. No problem when pressing down, only when pressing up, left or right. I might have a quick dive into this if I get time between customers.
  View user's profile Send private message
  • Joined: 14 Apr 2013
  • Posts: 623
Reply with quote
Post Posted: Mon Jan 11, 2021 4:24 pm
Wafer wrote
H.E.R.O. looks a bit interesting. No problem when pressing down, only when pressing up, left or right. I might have a quick dive into this if I get time between customers.

I just gave it a short play and interestingly the game is to some extent playable as long as you hold down the DOWN button. I mean you can walk left and right by pressing DOWN+LEFT or DOWN+RIGHT respectively.
  View user's profile Send private message Visit poster's website
  • Joined: 10 Jan 2021
  • Posts: 12
Reply with quote
Post Posted: Mon Jan 11, 2021 4:43 pm
Wafer wrote
I'd recommend testing Tank Wars on hardware if you're able to, since there are no problems with the graphics in Emulicious. Could just as easily be a bug with MEKA.


While the intro plays fine in Emulicious it doesn't go further, the options screen blinks for a second then it turns black.
(also confirmed by Calindro, he can't get into the game either)
  View user's profile Send private message
  • Joined: 22 Sep 2019
  • Posts: 98
Reply with quote
Post Posted: Mon Jan 11, 2021 7:56 pm
elfor wrote
Wafer wrote
I'd recommend testing Tank Wars on hardware if you're able to, since there are no problems with the graphics in Emulicious. Could just as easily be a bug with MEKA.


While the intro plays fine in Emulicious it doesn't go further, the options screen blinks for a second then it turns black.
(also confirmed by Calindro, he can't get into the game either)


Literally just got it into game right now. All I did was mash every input (UDLR and 1) after the intro played. No problems with graphics.

I think that the controller code used for these ports might be off-spec compared to the original BIOS. In H.E.R.O. the 1 button is acting like both fire buttons, and if you keep a direction button held down after you die you can keep moving until you release the button, and then the next time you press a direction it'll glitch again.

The controller code for H.E.R.O. is writing the controller state to two different RAM locations. My gut says that one of those locations is meant to be used as a rising edge for controller state.

Still need to do more digging, but the lack of a good CV emulator+debugger and the generally poor state of documentation for the CV makes things tricky.
  View user's profile Send private message
  • Joined: 10 Jan 2021
  • Posts: 12
Reply with quote
Post Posted: Mon Jan 11, 2021 8:45 pm
Wafer wrote
Literally just got it into game right now. All I did was mash every input (UDLR and 1) after the intro played. No problems with graphics.


You are right, except i still have those lines:
emul.png (12.23 KB)
emul.png

  View user's profile Send private message
  • Joined: 22 Sep 2019
  • Posts: 98
Reply with quote
Post Posted: Mon Jan 11, 2021 9:18 pm
elfor wrote
Wafer wrote
Literally just got it into game right now. All I did was mash every input (UDLR and 1) after the intro played. No problems with graphics.


You are right, except i still have those lines:


And now it's my turn to admit that I was wrong: I have the same "jailbars" too. Can't believe I missed them before, I must've hit a blind spot. Sorry!

I'm having a look into the VDP routines to figure out where that art gets loaded from.

Edit: I take it back. Looking at this using Emulicious's memory tracer now and I REALLY want it to show me the jailbars and I can't get it to. So this is intermittent, somehow, and that makes me think that the controller code is doing something else that it shouldn't be.
Clipboard01.png (10.54 KB)
Clipboard01.png

  View user's profile Send private message
  • Joined: 10 Jan 2021
  • Posts: 12
Reply with quote
Post Posted: Mon Jan 11, 2021 9:49 pm
I hope this intrigues you enough Wafer to fix it! :)

Another glitch, game over screen:
gameover.png (8.36 KB)
gameover.png

  View user's profile Send private message
  • Joined: 22 Sep 2019
  • Posts: 98
Reply with quote
Post Posted: Mon Jan 11, 2021 10:08 pm
I'll maybe start worrying about the graphics more when I have a handle on the controller code, which I think I maybe just got.

This is an excerpt from Tanks Wars' controller code:

      ld a, (_RAM_C3EE_)
      ld b, a
      ld a, (_RAM_C3F0_)
++:   
      and $40
      or b


So, this should look familiar to anyone who's worked on Game Gear ROMs: it's combining two input values using a mask. I believe the values that it's supposed to be combining are the direction buttons and the fire button, which the BIOS routines store in two separate bytes (this is based on a very badly scanned doc that I found online, so I could still be wrong).

This is what's happening in our modded Colecovision-BIOS-for-the-SG1K:

      in a, (Port_IOPort1)
      call _LABEL_2100_
      ld (_RAM_C3EE_), a
      ld (_RAM_C3F0_), a


See that? a is getting loaded into C3EE AND C3F0. One of those bytes is supposed to be the d-pad, and the other is meant to be the fire button, but instead the same value is being written to both.

So, in short: yeah, the controller code's just very off-spec.
  View user's profile Send private message
  • Joined: 22 Sep 2019
  • Posts: 98
Reply with quote
Post Posted: Tue Jan 12, 2021 12:35 am
Aaaaaand it's still not working properly, but here's a version of H.E.R.O. with one-to-one mapping for controls, so you can shoot with one button and plant your dynamite with another. This version of the BIOS only supports 1P right now, I'll fix up 2P later. I don't have the hardware to test on, but if you're playing on an international SMS you can probably use Saturn pads with this, the same as with most of my hacks.

It still glitches if you press a key without d-pad down being pressed, though, so I'm not sure what's going on there, yet.

This is still using under4mhz's BIOS, just with my controller code tagged onto the end.

Edit: Also, I just figured out how to get this sorted, but doing a proper universal solution needs six-button pads and a bit of work, so I'm gonna pick this back up tomorrow.
H.E.R.O. again.sg.zip (17.26 KB)

  View user's profile Send private message
  • Joined: 17 Feb 2020
  • Posts: 667
  • Location: United States
Reply with quote
Post Posted: Tue Jan 12, 2021 7:15 pm
Okay then. Also, wouldn't it be possible for 24kB and 32kB games to have halfs. Just like gdx did in his port of Mr. Do! for MSX, he used the last 8kB of the game in the beginning while the game was running after. I think that type of redirect would be easy.
And wafer, I did just mention in the MSX to SMS forum that I did create C-BIOS for SMS, not sure if you got any news about that.
  View user's profile Send private message
Reply to topic Goto page 1, 2, 3, 4, 5  Next



Back to the top of this page

Back to SMS Power!