Jump to content

Photo

Black Onyx for ColecoVision


50 replies to this topic

#1 Bruce Tomlin OFFLINE  

Bruce Tomlin

    River Patroller

  • 3,572 posts
  • CD C9 01
  • Location:Austin, TX

Posted Mon Apr 2, 2007 4:21 PM

EDIT: current version link here:
Attached File  onyx_006.bin   31.48KB   386 downloadsAttached File  onyxmap_2007_04_08.pdf.zip   22.52KB   308 downloads

Thanks to Pixelboy and others for getting me sucked into converting this. I knew it would happen and even though I made a feeble attempt at having them giving me only the minimum of stuff to do, it was already too late. 吸い込まれてしまった。

The first problem was getting a good disassembly, to the point where it could be re-assembled at any address. The obvious snag was addresses in data, but the not so obvious snag was how the programmers did array indexing. Instead of doing a combination of adds, most of the time they started with the address minus the element size, and incremented the loop counter before starting, so that zero wouldn't need any special case handling. This meant that lots of addresses were referenced as a different address, which wasn't a problem except for one at the beginning of RAM, where the referenced address was before the start of RAM. Then there was the usual stuff about different I/O port addresses, and different bits for the joystick ports. And that damn NMI.

I have finally figured out that Coleco made a big boo-boo by putting the VDP interrupt on NMI. The problem is that you need to read the VDP status register to acknowledge the interrupt, or you'll never get it again, but if you do it in the middle of loading a VDP address, it causes the address to be written wrong, and puts trash on the screen. The SG-1000, SMS, and MSX programmers could simply put a DI/EI around the code to write a VDP address. No such luck on Coleco, which uses the non-maskable interrupt. If only they had put the (rarely used) spinner interrupt on NMI and the VDP interrupt on RST 38, things would be so much easier. I needed two flag bits to make it work. Since the game pointed IY to the start of RAM and only ever used it for one byte of flags, I bumped the memory up by one byte and used the new byte at (IY-1) for the interrupt semaphore flags.

I think I've found most of the uses of Japanese for later translation. Some are text strings that are easily changeable because I did a sufficiently good job on disassembly, some are single bytes poked into the VDP (the Japanese equivalents of English prepositions are usually one character), and then there's also the need to swap some code around for word order.

This version seems to work, but I got attacked by wolves in town a couple of times, which never happened when I played the SG-1000 version for a few hours, and I got attacked by lions in the first level under the well (just NW of The Wall), which also never happened before. So there may be a subtle bug with the choice of monsters. At least it's a kind of cool bug.

onyx_001.bin ( 31.85k ) Number of downloads: 32

Some hints:

* you WILL need a 2-button stick, but fortunately the regular Coleco stick is not uncomfortable with this game. You get to use the right button a lot, as it seems to usually be the "select" function
* to start, hit any button, then you get the "MENU". The first option is "new game". Hit the right button. Then choose a guy and hit the left button to select, then the right button to accept. Enter your name, using the left button, then hit the right button to accept. Then you are asked if you want more guys. The first is "yes" (はい), the second is "no" (いいえ). Joystick down and use the right button to start the game.
* use the right button to bring up a menu. TIME seems to control the speed of combat, CURE will ask you who has medicine (you have to buy it at the PHYSICKER) then who you want to use it on.
* if you get attacked by "FIGHTER"s, especially in town, try TALK. If you have room in your party (max 5), you can ask them to join you. Otherwise they say "good luck finding the Black Onyx".
* when walking around near The Wall, and in the cemetery, there are "holes" in the ground. A menu will pop up. The first item is "don't go" (いかない), the second (if three) is go down (したに いく), and the last (if three) is go up (うえに いく). If you're already on the square and change your mind, just run into a wall.
* at the bottom of the well is the Kraken. His power bar is like a mile long. He will kill low level characters instantly. I'm pretty sure the Black Onyx is down there somewhere. Good luck grinding.
* in the southeast part of town is a teleport door (it says something like "the color of the walls seems to have changed") that ends up throwing you into the "DO NOT ENTER" area. There may be another exit in there that I haven't found yet.
* the save passwords are per character. Use "QUIT" from the main menu to generate the passwords (it will then also let you continue without quitting). When you restart the game, you give it your character name and then the password. The menu for password characters is 82 characters long, you have to enter 15 of them, and most of them will be Japanese hiragana.

Edited by Bruce Tomlin, Wed Apr 18, 2007 8:13 AM.


#2 Bruce Tomlin OFFLINE  

Bruce Tomlin

    River Patroller

  • Topic Starter
  • 3,572 posts
  • CD C9 01
  • Location:Austin, TX

Posted Mon Apr 2, 2007 5:42 PM

Hmmm... and I'm getting no money from battles either.

#3 Pixelboy OFFLINE  

Pixelboy

    Quadrunner

  • 6,181 posts
  • Location:Montreal, Canada

Posted Tue Apr 3, 2007 6:59 AM

The power supply on my home PC went to heaven yesterday morning, so I can't try your CV port right now, but as soon as my PC is fixed, rest assured I will give it a try! :D

I'm also in the process of acquiring scans of the original manual of the SG-1000 version. It's all in japanese, obviously, but still, would you like to have a copy of it? Be aware that the guy who is supposed to scan them for me is the really busy type, so it might take a little while. He might hurry up a little if I tell him that you need those manual scans...

#4 vdub_bobby OFFLINE  

vdub_bobby

    Quadrunner

  • 5,831 posts
  • Boom bam.
  • Location:Seattle, WA

Posted Tue Apr 3, 2007 8:52 AM

I couldn't get it to work in MESS; can you recommend an emulator?

#5 Cybergoth OFFLINE  

Cybergoth

    Quadrunner

  • 8,641 posts
  • This is Sparta!
  • Location:Bavaria

Posted Tue Apr 3, 2007 10:23 AM

Meka is the definite answer for SMS, SG-1000, Coleco, GG and similar hardwares.

BTW: I wish I could help testing it some, but I guess in my case it makes sense only after the translation :)

#6 Pixelboy OFFLINE  

Pixelboy

    Quadrunner

  • 6,181 posts
  • Location:Montreal, Canada

Posted Tue Apr 3, 2007 11:21 AM

BTW: I wish I could help testing it some, but I guess in my case it makes sense only after the translation :)

Actually, Black Onyx is one game where you can figure out most of what's going on just by instinct. I played the SG-1000 version last Saturday for a few hours (long before Bruce started this thread), and I was able to explore and understand the starting area relatively easely. I even made a quick map! I'm sure you can figure it out too. :)

Correct me if I'm wrong, but the game doesn't seem to describe how buying/equiping body items and weapons improves your stats. The only visible indication that a piece of armor may be better than another is the price when you buy it at the shop, so I have to wonder if there's some kind of "stats improvement table" hidden inside the game's code for the various pieces of armor and weapons... Are there even stats at all in this game, aside from HP?

#7 Bruce Tomlin OFFLINE  

Bruce Tomlin

    River Patroller

  • Topic Starter
  • 3,572 posts
  • CD C9 01
  • Location:Austin, TX

Posted Tue Apr 3, 2007 2:49 PM

I've got most of the text translated now except for combat. I also encountered a couple of lockups after pausing my emulator for a while that were certainly due to the NMI nonsense, so I added a timer for it... which I just realized won't work. The timer needs to be in whatever is waiting for the NMI to count down a timer, and not in the NMI routine itself. I'm pretty sure this rare glitch is caused by pausing my emulator.

As for weapons, etc., it seems like it's pretty much a straight progression. There is text for dealing with two-handed weapons (buy a shield and it'll ask if you want to drop your weapon, buy a 2-hand weapon and it'll ask if you want to drop your shield), but that's about all I know. And you can see your stats by going to the healer and doing the "EXAMINATION".

And I did eventually start finding monsters dropping money. But it was very rare for that to happen. Now I'm not sure whether there's a porting bug there or not. I did find one real bug that I need to verify in the original: try to buy a weapon (probably other things too, but NOT the potion/bottle), then cancel on the "who gets it" phase, and you've lost your money.

Oh, and it apparently is possible to get by the Kraken if you run. Just be strong enough to deal with hobgoblins first.

onyx_002.bin ( 31.96k ) Number of downloads: 24

As for emulators, I've been using SDLMESS from the OS X command line:

messpm coleco -cart onyx.bin -window -keepaspect -skip_gameinfo -skip_warnings -switchres -nofullstretch &

I'm also in the process of acquiring scans of the original manual of the SG-1000 version. It's all in japanese, obviously, but still, would you like to have a copy of it? Be aware that the guy who is supposed to scan them for me is the really busy type, so it might take a little while. He might hurry up a little if I tell him that you need those manual scans...

Yes, please! Good scans of the cover/label art would be nice too. I still haven't gotten password save to work yet, though it probably didn't help that I saw a garbage graphics character in a password at one point.


Here's a few links I have found about it.

box art:
http://www.sega-16.c...ieko Kodama.php
(about half-way down)

MSX1 version:
http://www.mobygames...nyx/screenshots

Interestingly, the MSX1 version looks completely different. It's still 32K, but it has lower case letters. The title screen logo is better (it's not a green egg anymore, and while it's smaller, the colors are better), but the screen layout is different. I like the SG-1000 layout better. It might be possible to patch the better logo in, but I only have about 50 bytes of slack right now.

Some info about the game:
http://www.blueplane...black_onyx.html

I think I noticed some "karma" effects after attacking a fighter group by accident, then I couldn't get anyone to join me. Conversations and trading? Apparently that page is about a "super" version. The backstory seems to be the same.

Edited by Bruce Tomlin, Wed Apr 18, 2007 8:13 AM.


#8 Cybergoth OFFLINE  

Cybergoth

    Quadrunner

  • 8,641 posts
  • This is Sparta!
  • Location:Bavaria

Posted Wed Apr 4, 2007 1:56 AM

Weird. The first binary displays the "Sega" logo in Meka, the second only gives a black screen. I wonder if it has problems identifying it as Coleco game.

What I found surprising is that the binaries are 31,8 and 31,9 bytes in size, maybe it'd help some emulators if they were precisely 32K? I don't know much about Z80 architectures though, so I'd assume they don't have any mission critical vectors at the end.

Anyway, got the second binary running in MESS. My first game crashed when I created only one warrior, then said "add Warrior" in the game. I was prompted to enter a name and IIRC when canceling that process it locked the machine.

Second try I made a complete 5 men team, that got slaughtered by a group of fighters in the cemetary. I tried talking with them, but they still attacked me. In the battle I didn't score a single hit, I had no chance. Either I had no weapons or they were just superior.

I hope I can play some more today. Maybe I even manage to read the tips you posted above :lol:

#9 Pixelboy OFFLINE  

Pixelboy

    Quadrunner

  • 6,181 posts
  • Location:Montreal, Canada

Posted Wed Apr 4, 2007 8:16 AM

As for weapons, etc., it seems like it's pretty much a straight progression. There is text for dealing with two-handed weapons (buy a shield and it'll ask if you want to drop your weapon, buy a 2-hand weapon and it'll ask if you want to drop your shield), but that's about all I know. And you can see your stats by going to the healer and doing the "EXAMINATION".

Alright, thank for the tip. How do the player's in-game characters increase their maximum HP? Is there an experience point system based on monster kills, or do they need to purchase upgrade stuff like potions?

And I did eventually start finding monsters dropping money. But it was very rare for that to happen. Now I'm not sure whether there's a porting bug there or not. I did find one real bug that I need to verify in the original: try to buy a weapon (probably other things too, but NOT the potion/bottle), then cancel on the "who gets it" phase, and you've lost your money.

Yeah, that should be fixed, if it's not too much trouble... You know, I think "PHYSICKER" should actually be labelled "PHYSICAL". What do you think?

I'm also in the process of acquiring scans of the original manual of the SG-1000 version. It's all in japanese, obviously, but still, would you like to have a copy of it? Be aware that the guy who is supposed to scan them for me is the really busy type, so it might take a little while. He might hurry up a little if I tell him that you need those manual scans...

Yes, please! Good scans of the cover/label art would be nice too. I still haven't gotten password save to work yet, though it probably didn't help that I saw a garbage graphics character in a password at one point.

Okay, I'll see what I can do. :)


Here's a few links I have found about it.

box art:
http://www.sega-16.c...ieko Kodama.php
(about half-way down)

MSX1 version:
http://www.mobygames...nyx/screenshots

There's a bigger scan of the SG-1000 box here.

Keep up the good work, Bruce! :)

Edited by Pixelboy, Wed Apr 4, 2007 8:17 AM.


#10 Bruce Tomlin OFFLINE  

Bruce Tomlin

    River Patroller

  • Topic Starter
  • 3,572 posts
  • CD C9 01
  • Location:Austin, TX

Posted Wed Apr 4, 2007 10:11 AM

Alright, thank for the tip. How do the player's in-game characters increase their maximum HP? Is there an experience point system based on monster kills, or do they need to purchase upgrade stuff like potions?

See that little yellow bar under your HP? That's the XP-to-next-level bar.

And I did eventually start finding monsters dropping money. But it Yeah, that should be fixed, if it's not too much trouble... You know, I think "PHYSICKER" should actually be labelled "PHYSICAL". What do you think?

I never saw any reason to change it. It's a nice little colloquialism they had there. And it's got the word "SICK" in it. Maybe I should even have used it in a couple of the translated lines.



I played it a few hours yesterday. Things do get better once you hit level 3. The big thing was that I discovered 1) once I ran away from the Kraken, I didn't see him again, and 2) the DO NOT ENTER area is actually important. Make yourself a map and think about it. Also, once you hit level 3 or so, if you lose characters, don't get replacements in town. Try to find them in a dungeon, where they will already be partly leveled up.

Aw, heck, it's a big spoiler about DO NOT ENTER, but here's my map so far:

Attached File  onyxmap_2007_04_04.pdf.zip   18.96KB   212 downloads
I also found a few things I forgot to translate, plus a couple of minor mess-ups. Nothing worth a new binary yet. I need to figure out the password save code now, but it'll be a few days before I can get to it. And then there's still the Japanese in the combat text, but I don't think that's going to stop people from playing it.

#11 Pixelboy OFFLINE  

Pixelboy

    Quadrunner

  • 6,181 posts
  • Location:Montreal, Canada

Posted Fri Apr 6, 2007 6:19 PM

Okay, now that my PC is up and running and after trying both binaries on two different ColecoVision consoles, via an Atarimax 128-in-1 USB cart, I can provide an initial report.

First of all, when I run the binary, the "SEGA" logo animation immediately freezes. Once I press the "reset" button, however, the logo animation runs smoothly. Starting with the title screen, and every other screen after that, the screen is filled with garbled graphics, no matter what I do. The sounds and music are okay, and the controls seem to work fine, but the graphics are so garbled that it's practically unplayable.

Has anyone else tried the binaries on a real CV, like I just did? What about you, Bruce? Do you happen to own a CV USB cart? I haven't bothered running the binaries on emulators yet, since I can try them on a real console. :)

EDIT: I think the problem is with my 128-in-1 cart. I tried other ROMs with it and they all have some garbled graphics. I also tried other (original) carts like Donkey Kong and 2010 and had no problem with the CV console I'm using, so it appears the 128-in-1 cart is the culprit. This sucks... :x

Edited by Pixelboy, Fri Apr 6, 2007 8:39 PM.


#12 Pixelboy OFFLINE  

Pixelboy

    Quadrunner

  • 6,181 posts
  • Location:Montreal, Canada

Posted Sat Apr 7, 2007 8:42 AM

I tried Black Onyx on my ADAM with the USB cart this morning, and I still got screen glitches, but it took a couple of minutes for them to appear. During that time I was able to give Black Onyx a short yet serious try, and I must say you're doing some great work with this port, Bruce! :D

If other people on this board have a working CV USB cart, I encourage them to try Bruce's binaries and report any bugs to him. I'd like to do this myself, but my USB cart is evidently unreliable, and I'll have to resort to emulation for further testing purposes.

EDIT: The second binary makes Meka crash on startup, plain and simple. Guess I'll have to install MESS. I'll do this tomorrow, no time today. :)

Edited by Pixelboy, Sat Apr 7, 2007 8:45 AM.


#13 Bruce Tomlin OFFLINE  

Bruce Tomlin

    River Patroller

  • Topic Starter
  • 3,572 posts
  • CD C9 01
  • Location:Austin, TX

Posted Sat Apr 7, 2007 10:44 AM

New version, a few translation glitches fixed, and the save bug found. (I saw some code with no label, then realized I had supressed labels for it during disassembly. Two places were calling somewhere into the ColecoVision ROM and doing who knows what, but not crashing.)

I also optimized quite a few places that had CALL+RTS to a JP or JR. One place caused a stack underflow when running away from battle, and I was too sleepy last night to figure it out. Pobably something does a POP HL to drop a return address along the way, and I need to find this to see if happens elsewhere. So I have disabled that one patch and dropped the stack pointer down by two just in case.

This version looks quite playable, and is the one people should be kicking the tires on. One thing I noticed about save passwords is that they record the map location. Otherwise you will see "FOO IS NOT HERE." The first character can be anywhere, but all the rest have to be at the same location. You can even revive a dead comrade by going to the save location and then doing an "ADD FIGHTER".

onyx_003.bin ( 31.87k ) Number of downloads: 15

I'm going to try to keep the first post updated with the latest attachment.

Edited by Bruce Tomlin, Wed Apr 18, 2007 8:12 AM.


#14 ScottHuggins OFFLINE  

ScottHuggins

    Moonsweeper

  • 273 posts
  • Through The Looking Glass
  • Location:Dallas, TX

Posted Sat Apr 7, 2007 12:46 PM

Wow, Bruce. This is looking VERY VERY nice! Impressive work.

New version, a few translation glitches fixed, and the save bug found. (I saw some code with no label, then realized I had supressed labels for it during disassembly. Two places were calling somewhere into the ColecoVision ROM and doing who knows what, but not crashing.)

I also optimized quite a few places that had CALL+RTS to a JP or JR. One place caused a stack underflow when running away from battle, and I was too sleepy last night to figure it out. Pobably something does a POP HL to drop a return address along the way, and I need to find this to see if happens elsewhere. So I have disabled that one patch and dropped the stack pointer down by two just in case.

This version looks quite playable, and is the one people should be kicking the tires on. One thing I noticed about save passwords is that they record the map location. Otherwise you will see "FOO IS NOT HERE." The first character can be anywhere, but all the rest have to be at the same location. You can even revive a dead comrade by going to the save location and then doing an "ADD FIGHTER".


I'm going to try to keep the first post updated with the latest attachment.



#15 jwierer OFFLINE  

jwierer

    Dragonstomper

  • 890 posts
  • Location:Seattle,WA

Posted Sat Apr 7, 2007 10:33 PM

I tested it on a real 32K CV cart. If I just boot it up it freezes at the SEGA screen. If I hit reset a couple of times then the SEGA logo starts flashing and I can get into the game. Pretty cool actually. Reminds me a bit of the Bard's Tale. Still saw a few instances of Japanese in the fight sequences, but you probably already know that. Nice work!

-Jeff

#16 Pixelboy OFFLINE  

Pixelboy

    Quadrunner

  • 6,181 posts
  • Location:Montreal, Canada

Posted Sun Apr 8, 2007 5:36 AM

I tested it on a real 32K CV cart. If I just boot it up it freezes at the SEGA screen. If I hit reset a couple of times then the SEGA logo starts flashing and I can get into the game. Pretty cool actually. Reminds me a bit of the Bard's Tale. Still saw a few instances of Japanese in the fight sequences, but you probably already know that. Nice work!

-Jeff

Yeah, I encountered this "reset" problem too. It really seems to be a cold-boot bug, as once the game resets correctly, I can reset the game 100 times and I never encounter the problem again until I turn the CV off. At least, that's been my experience... :)

#17 Bruce Tomlin OFFLINE  

Bruce Tomlin

    River Patroller

  • Topic Starter
  • 3,572 posts
  • CD C9 01
  • Location:Austin, TX

Posted Sun Apr 8, 2007 5:03 PM

Those of you with reset problems, can you try the -001 binary? I'm sure it's related to that wonderful VDP NMI issue. But I took out the SEGA startup screen, since it's kind of pointless now. For what it's worth, thanks to conditional assembly, I can still generate the original SG-1000 binary (I use that to check that I haven't screwed up too much when changing things around), and I think I can even make an SG-1000 version with an English translation!


And I've been spending most of the day getting the combat messages working. That was some tricky code, where all four types of messages went through the same code twice. I also made a couple of sensible enhancements: the name and password screens wrap around from the left to the right (a patch made harder because they used common code, and I don't even want to try vertical wrap), and the name is displayed along with the password in the QUIT stuff, so you won't lose track of whose password that is you're copying it down.

onyx_004.bin ( 31.51k ) Number of downloads: 15
Attached File  onyxmap_2007_04_08.pdf.zip   22.52KB   308 downloads
At this point, it would be nice to use the colors and "egg" graphics from the MSX title screen along with the larger title graphics of the SG-1000 version. And I still need to finish the game completely before I can be sure it works right. I haven't hit the hiders, wraiths, or the onyx itself to test those parts. It might help if I can fake up some codes for buffed characters.

As for the codes, the first thing to know is that the name is checksummed, then a MOD 3 is done. This is used to offset the password table at 08CE in the SG-1000 version, so it uses 80 out of the 82 characters for a given password. You can usually tell which is which by the first two characters of the password, one of which is usually zero. The first group will have the "a" character (あ), the second will have "fu" (ふ), and the third will have "su" (す). The low four bits of bytes 2, 7, and 9 are the column, map, and row number of your position.

The text character codes used by the game are:
00   0   10   G   20   W	 30   =>   40   た   50   み   60   ゃ   70  ッ   80   #
01   1   11   H   21   X	 31   あ   41   ち   51   む   61   ゅ   71   "   81   '
02   2   12   I   22   Y	 32   い   42   つ   52   め   62   ょ   72   。
03   3   13   J   23   Z	 33   う   43   て   53   も   63   レ   73   !
04   4   14   K   24   <=	34   え   44   と   54   や   64   ヘ   74   -
05   5   15   L   25   blank 35   お   45   な   55   ゆ   65   ル   75   (
06   6   16   M   26   hline 36   か   46   に   56   よ   66   メ   76   )
07   7   17   N   27   hbar  37   き   47   ぬ   57   ら   67   セ   77   *
08   8   18   O   28   HP0   38   く   48   ね   58   り   68   シ   78   .
09   9   19   P   29   HP1   39   け   49   の   59   る   69   ケ   79   :
0A   A   1A   Q   2A   HP2   3A   こ   4A   は   5A   れ   6A   ム   7A   <
0B   B   1B   R   2B   HP3   3B   さ   4B   ひ   5B   ろ   6B   タ   7B   >
0C   C   1C   S   2C   HP4   3C   し   4C   ふ   5C   わ   6C   カ   7C   ?
0D   D   1D   T   2D   HP5   3D   す   4D   へ   5D   を   6D   マ   7D   [
0E   E   1E   U   2E   HP6   3E   せ   4E   ほ   5E   ん   6E   ン   7E   ]
0F   F   1F   V   2F   HP7   3F   そ   4F   ま   5F   っ   6F   ト   7F   =

...and the password translation table is:
00 あ	  10 た	  20 れ	  30 か	  40 O	  50 さ
01 ふ	  11 ら	  21 け	  31 め	  41 P	  51 ん
02 す	  12 え	  22 ぬ	  32 A	   42 Q
03 と	  13 ま	  23 0	   33 B	   43 R
04 ろ	  14 く	  24 1	   34 C	   44 S
05 お	  15 て	  25 2	   35 D	   45 T
06 も	  16 ひ	  26 3	   36 E	   46 U
07 し	  17 む	  27 4	   37 F	   47 V
08 よ	  18 い	  28 5	   38 G	   48 W
09 ち	  19 わ	  29 6	   39 H	   49 X
0A み	  1A に	  2A 7	   3A I	   4A Y
0B は	  1B り	  2B 8	   3B J	   4B Z
0C き	  1C せ	  2C 9	   3C K	   4C ね
0D る	  1D や	  2D を	  3D L	   4D こ
0E な	  1E つ	  2E の	  3E M	   4E そ
0F ほ	  1F へ	  2F う	  3F N	   4F ゆ

Edited by Bruce Tomlin, Wed Apr 18, 2007 8:14 AM.


#18 jwierer OFFLINE  

jwierer

    Dragonstomper

  • 890 posts
  • Location:Seattle,WA

Posted Sun Apr 8, 2007 5:56 PM

v4 Boots up now fine without any having to reset. I kind of miss the SEGA logo as it made me feel like I was playing my Genesis :)

-Jeff

#19 Bruce Tomlin OFFLINE  

Bruce Tomlin

    River Patroller

  • Topic Starter
  • 3,572 posts
  • CD C9 01
  • Location:Austin, TX

Posted Tue Apr 10, 2007 2:10 AM

I've learned a lot more about how the save password works today. With the above tables, and keeping in mind that the range of each character is 0-79 decimal (00-4F hex), here is what each character means, with only two unknowns (the ???), one of which must not be zero:
C1C7 01: low byte of money
C1C8 02: mid byte of bank money
C1C9 03: [6..4]=???
		 [3..0]=map column number
C1CA 04: life
C1CB 05: [5..4]=shield (0=none or 1..3)
		 [3..0]=armor (0..4 or 5=magic cloak)

C1CC 06: damage
C1CD 07: [6..4]=number of potions (0..4)
		 [3..0]=level (1..15)
C1CE 08: [4..4]=1 if has bottle
		 [3..0]=map number (0..7)
C1CF 09: [5..4]=helm (0=none or 1..3)
		 [3..0]=weapon (0..8)
C1D0 10: [6..4]=???
		 [3..0]=map row number

C1D1 11: high byte of money (00-14)
C1D2 12: xp toward next level (00-48)
C1D3 13: high byte of bank money (00-49)
C1D4 14: [6..4]=low byte of bank money
		 [3..0]=head (0..4)
C1D5 15: middle byte of money
The ONLY checking is that each individual code has a valid value (including the edge characters that only appear in one or two groups). Note that money is BCD with the lowest nibble of six unused, and your current hit points are stored as max HP minus damage. And level 15 is the absolute maximum. With the maximum level 15, 72 hit points, and full armor, you're practically invulnerable, and the Kraken goes down in two hits.

For the second group of names (including A, AC, D, G, J, and M), a "god mode" password is: ふふいXD ふさまFし てすYふふ

Thanks to my new code, I have found level 6, but it's too late to go making a PDF of the current map. And I have found the connection on level 5 with the bottom of the well. I know there's only one more level to go, and it's probably at the top of the tower. All the maps are really 16x16 with wraparound, and level 5 does wrap around. Levels 4 and 5 also have lots of one-way and teleport goodness. Maybe I could put in some debug code to tell me where the hell I am at all times.

I also found a couple of bugs caused by goof-ups in translation, and copied in the font from my ColecoVision RPG demo (which was mostly taken from Kevtris). It's easy to compile it either way, so comments on which font you like better are welcome. The new font is easier to read, but it's 7x7 instead of 6x6 and may not look as good on a real TV set.

onyx_005.bin ( 31.5k ) Number of downloads: 17

Edited by Bruce Tomlin, Wed Apr 18, 2007 8:15 AM.


#20 jwierer OFFLINE  

jwierer

    Dragonstomper

  • 890 posts
  • Location:Seattle,WA

Posted Wed Apr 11, 2007 10:43 PM

I played it for a few hours and eventually died on the 4th level. Only thing I noticed is that I can't change the speed of the messages. I can bring up the dialog, but when I try to use the keypad to change the speed nothing happens? The maps make it damn nice to play BTW. Thanks for sharing!

-Jeff

#21 Bruce Tomlin OFFLINE  

Bruce Tomlin

    River Patroller

  • Topic Starter
  • 3,572 posts
  • CD C9 01
  • Location:Austin, TX

Posted Thu Apr 12, 2007 9:51 AM

I played it for a few hours and eventually died on the 4th level. Only thing I noticed is that I can't change the speed of the messages. I can bring up the dialog, but when I try to use the keypad to change the speed nothing happens?

You do realize that the SG-1000 doesn't have a keypad, right? Try the joystick up and down.

So anyhow, I made another couple of tweaks to the translation which should make the translation effort final. Level 6 has different colored walls, and black walls you go through which change the colors. The original was "kabeno iroha (color)". I knew that "iroha" was the old Japanese alphabetical order, so I translated it as "(color) ABC wall". Then decided to check the Wikipedia page, and staring at me was the "translation" of the iroha order. See, as a mnemonic device, they have a "quick brown fox" kind of phrase using all of the characters once. And "iro" meant... color. Oops. That means "the wall color is (color)". So I just changed the translation to say "YELLOW WALLS", etc.

The other translation tweak is that I saw a screenshot of the MSX version, and the banker's name is "Tyr Pendragon", not "Try Pendragon".

And now the Japanese text should be completely out, so I can now begin to think about replacing it in the password screen. The first thing I want is lower case, and eliminating similar characters like 0 and O. That's not enough for 82 characters, so there will still need to be more. The good news is that killing the SEGA logo left me with around 500 bytes free.

And another thing about those colored walls. I have no idea how you're supposed to figure out the proper order for the colors. Especially since it's different if you screw it up. I personally think it's a bug because initially you use each color once, then it resets and has a different start color, off by one. I am so sure it's a bug that I'll probably go ahead and fix it. For those who know how to rot13, here is the spoiler. It would be helpful if someone can figure out why that particular order was chosen (FYI, you start in the yellow area), and also what you're supposed to do to figure out where the Onyx is at the top of the tower. Right now there are only two methods I know of. Cheat (like I did) and figure out exactly where it is, or fumble about in the dark.

Ba yriry 6 (pbybe jnyyf), lbh unir gb ragre gur evtug "pbzovangvba" gb bcra gur jnyyf gb gur pber. Gur svefg gvzr lbh ragre gur yriry, gur pbzovangvba vf erq checyr terra oyhr lryybj juvgr. Vs lbh zrff hc, vg erfrgf gb gur svefg pbybe lryybj vafgrnq bs erq: lryybj checyr terra oyhr lryybj juvgr. Lbh jvyy urne n fbhaq jura gur pber vf haybpxrq. (Vg znl or n oht gung gur pbzovangvba vf qvssrerag nsgre vg erfrgf.)

At this point I have pretty much tested everything, and I found one unexplained bug. When you kill a certain type of monster (I think the hiders and wraiths both do this), it has a 25% chance of dropping a magic cloak. When you put on the cloak, the wearer (at least if he already has one) becomes a bunch of garbage characters.

So the total bug list is 1: shop cancel keeps your money 2: color walls reset wrong 3: wearing magic cloak

I also added a "GPS locator" feature which puts the map coordinates at the top of the screen, but this is done with conditional assembly and not in the binary. Maybe I'll figure out how to make a multi-key code for it or something.

Attached File  onyx_006.bin   31.48KB   386 downloads
And this is pretty much at feature freeze for a few days until I can get my taxes done.


Historical anecdote: This (not the SG-1000 version, probably the MSX version) was the game written by Henk Rogers which formed the basis for Bullet-Proof Software, the company that won the Tetris rights wars by Henk being in the right place at the right time. Here's some cover art I found on msxarchive.nl. Do you notice something about the cover art? "AMERICAN FANTASY ROLEPLAYING GAME". Well, sure, Henk came from America, but as far as I know this was never released in the states. Ha.

The_Black_Onyx__ASCII_Corp.__front.jpg

EDIT: fixed the ROT13 to not have the colors in all-caps, as that was too easy to read unintentionally.

Edited by Bruce Tomlin, Thu Apr 12, 2007 7:18 PM.


#22 thegoldenband ONLINE  

thegoldenband

    River Patroller

  • 4,063 posts
  • Location:Long Island, NY

Posted Thu Apr 12, 2007 6:35 PM

This game looks like fun. It's unplayable in Mugrat right now because of the non-working button II issue (as are many CV games), but I've dropped R.B. an email about that -- fingers crossed!

Edited by thegoldenband, Thu Apr 12, 2007 6:37 PM.


#23 Bruce Tomlin OFFLINE  

Bruce Tomlin

    River Patroller

  • Topic Starter
  • 3,572 posts
  • CD C9 01
  • Location:Austin, TX

Posted Thu Apr 12, 2007 7:16 PM

This game looks like fun. It's unplayable in Mugrat right now because of the non-working button II issue (as are many CV games), but I've dropped R.B. an email about that -- fingers crossed!

Don't get too hopeful... I reported that bug back when I was starting my ColecoVision RPG a year and a half or so ago. The guy doesn't seem to care that his emulators actually work, just that he's got a bunch of them. As I mentioned earlier, I've been using command-line SDLMESS since MacMESS is so unreliable (I've had it crash with command-Q!) and doesn't seem to be supported any more.

messpm coleco -cart onyx.bin -window -keepaspect -skip_gameinfo -skip_warnings -switchres -nofullstretch &
Now that it's pretty nearly stable, it's time for the Coleco-specific enhancements. The first one is going to be lower case and a new password code set using it.

Edited by Bruce Tomlin, Thu Apr 12, 2007 8:27 PM.


#24 thegoldenband ONLINE  

thegoldenband

    River Patroller

  • 4,063 posts
  • Location:Long Island, NY

Posted Thu Apr 12, 2007 7:52 PM

Ummm, when I sent him my message, I gave him a link to this thread (as an example of a game that's unusable without a working Button II). I don't know if you want to edit your above post in light of that, but if so, now's the time, I guess!

I just tried downloading the latest MESS, but man, I'm confused. I have to download XCode to use it? A ~1 GB download that requires me to register with Apple? And that on top of 2-3 other downloads? I miss the days of one-stop, all-purpose apps...

Edited by thegoldenband, Thu Apr 12, 2007 7:52 PM.


#25 Bruce Tomlin OFFLINE  

Bruce Tomlin

    River Patroller

  • Topic Starter
  • 3,572 posts
  • CD C9 01
  • Location:Austin, TX

Posted Thu Apr 12, 2007 8:32 PM

Registering with Apple? WTF are you talking about? You downloaded a source version or something? http://macmess.org/ Besides, compiling a copy of MESS from actual source is no trivial task, especially with "instructions" like "download the MESS source and unpack 'it' into 'that' directory" that overuse pronouns such that you can't tell which is whom.

Note that this page IS confusing, so don't feel bad about that. The link at the top is the GUI, and the links in the middle are for the core emulator. I don't bother with the GUI, but the core emulator is great for developing (once you figure out the appropriate command line parameters) because it can be put in a build script. I think I'm still using 1.10 because something changed with respect to how the Genesis version handled the window.

You also need the SDL libraries: http://www.libsdl.org/

And anyhow, I still wouldn't expect that guy to care enough to check here. I gave him a link to my other thread way back then and you can see the lack of results.

Edited by Bruce Tomlin, Thu Apr 12, 2007 8:37 PM.





0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users