The lamps could be tied to unlocking something special or a hidden door in some other room as well. Currently the game is pretty straight forward and I normally play it such that I just get or complete everything to get to the end. As a difficulty selection it would be interesting to have some Lee inspired puzzles...

“Empty your mind. Be Formless. Shapeless. Like water.
Put water into a cup, it becomes the cup.
Put water into a teapot, it becomes the teapot.
Now water can flow, or drip, or creep, or CRASH.
Be water my friend.”

perhaps some water scenes puzzles reflections sort of thing. he seemed to really like nature. No need to go overboard just some touches flourishes, fill a cup, or bucket etc.

This is all sounding rather positive and I'm very grateful for your work in this.

I'll chat with dmx (he does read the thread though) and see if I can get the tiles for you to look at.

Oh, don't forget that we already have Omnivore as a PC util to edit levels but if you want as a personal like to do one then amazing.

Thank you to you and to all for the interest in this idea..

Omnivore is a great tool. I was hoping for something more specifically geared towards the game itself.

It looks like Fantomas already has an editor we might be able to tweak for our purposes.

The lamps could be tied to unlocking something special or a hidden door in some other room as well. Currently the game is pretty straight forward and I normally play it such that I just get or complete everything to get to the end. As a difficulty selection it would be interesting to have some Lee inspired puzzles...

“Empty your mind. Be Formless. Shapeless. Like water.
Put water into a cup, it becomes the cup.
Put water into a teapot, it becomes the teapot.
Now water can flow, or drip, or creep, or CRASH.
Be water my friend.”

perhaps some water scenes puzzles reflections sort of thing. he seemed to really like nature. No need to go overboard just some touches flourishes, fill a cup, or bucket etc.

Just some inspiration for the game.

Yeah, some kind of tribute would be cool.

We could even include that quote above in the initial screen or maybe even the title screen.

Now someone can write a RLE to that converts the Tiled output back into game data, and you're on the way!

I used the object layer in Tiled to mark where to place "fires" and those "floor lights" (aka rats), then put the co-ordinates and sizes into code. Another option could be to automatically generate asm for this.

The graphics are mostly the same as the C64 version - but the C64 screens are stored as 40x11 rows, where every odd line is the even char | 0x80 - I didn't quite see that on theatari version, but I may be mistaken.

This is because in the Atari, the font is double height, so you have 40x11 characters, with only 128 possibilities.

To convert to the C64, each original char was replaced by two, using the fact that the C64 has 256 characters in the font. So, the Atari char "$03" is replaced by the char "$03" over the char "$83" in the C64.

How did you guys determine that the InitZeroPage and the code at $7C00 were not required ?

Could you post a binary of the file from which the disassembly was derived ? I want to make sure my translation produces a mirror image; I don't use MADS.

There's an oddity with at least one, maybe more of the map tables. There will be something like:

TXTDATAPTRLO .BYTE $F7

TXTDATPTRHI 50 bytes after this

Where you think if it was a split table, there would be an even number of bytes in each. I'm assuming stuff like this is just a result of the disassembler guessing where to break things into sections. At least that post by fantomas will really help sorting out the tables.

Needs some kind of loader too, can't just binload from DOS. For me, I'm just going to use a little Action! pgm to write it as sectors 4-whatever and have it boot and just jump to $8000. I guess you're using some Altirra trick to get it to bootload the .xex.

This is because in the Atari, the font is double height, so you have 40x11 characters, with only 128 possibilities.

To convert to the C64, each original char was replaced by two, using the fact that the C64 has 256 characters in the font. So, the Atari char "$03" is replaced by the char "$03" over the char "$83" in the C64.

How did you guys determine that the InitZeroPage and the code at $7C00 were not required ?

Could you post a binary of the file from which the disassembly was derived ? I want to make sure my translation produces a mirror image; I don't use MADS.

There's an oddity with at least one, maybe more of the map tables. There will be something like:

TXTDATAPTRLO .BYTE $F7

TXTDATPTRHI 50 bytes after this

Where you think if it was a split table, there would be an even number of bytes in each. I'm assuming stuff like this is just a result of the disassembler guessing where to break things into sections. At least that post by fantomas will really help sorting out the tables.

Needs some kind of loader too, can't just binload from DOS. For me, I'm just going to use a little Action! pgm to write it as sectors 4-whatever and have it boot and just jump to $8000. I guess you're using some Altirra trick to get it to bootload the .xex.

Some tables are "word" tables, while some are split into hi/lo

e.g.

Table

TableH = * + 1

!word something

!word something

While others:

TableL

!byte <something

!byte <something

TableH

!byte >something

!byte >something

And so on

And yes, I do recommend to build a "good" binary first, then when reversing, do a file compare (windows: fc \b myre.bin good.bin) to confirm they match. Often one gets a tiny bit wrong, and have to hunt for it maybe for days!

Would you mind if I ported your code to C#? And maybe throw in a few tweaks to be geared more specifically to Bruce Lee itself?

Do what you want. It is just a POC. The export to Tiled shows that the explanation is correct, but to be honest, i'm not sure that Tiled is the best level editor for A8. Thanks to DLIs, a blue and / or green tile in line 2 can be red and / or yellow in line 7. For a correct display in Tiled, this makes it necessary to create two different tiles ... But that makes the creation of new level more difficult ..... A specific editor would be better... Perhaps....

Is there any progress in the reversing? Should not we centralize all these efforts?

Attached Files

How did you guys determine that the InitZeroPage and the code at $7C00 were not required ?

Could you post a binary of the file from which the disassembly was derived ? I want to make sure my translation produces a mirror image; I don't use MADS.

The zero page init was something I had added because I was looking at another hacked version that was setting zero page locations. Initially I thought I needed to do this too, but once I realized the ATX version was not doing this I commented it out.

Attached Files

Do what you want. It is just a POC. The export to Tiled shows that the explanation is correct, but to be honest, i'm not sure that Tiled is the best level editor for A8. Thanks to DLIs, a blue and / or green tile in line 2 can be red and / or yellow in line 7. For a correct display in Tiled, this makes it necessary to create two different tiles ... But that makes the creation of new level more difficult ..... A specific editor would be better... Perhaps....

Is there any progress in the reversing? Should not we centralize all these efforts?

Yes a repository or some kind of version control would be a good idea. Github or something like that?

Yes a repository or some kind of version control would be a good idea. Github or something like that?

Is there any progress in the reversing? Should not we centralize all these efforts?

Don't mind me, I'm just tagging along on the Atari; you guys are using Windows tools, so I'm no help there.

Thanks for the xex, Ute, I've almost got the code to assemble on the Atari. The FrameData file is 70K of source, lol, takes almost two minutes to assemble, but that's ok. Just need to fix-up some zero-page stuff and then with any luck I'll have a mirror binary.

Well, I wouldn't try this with a stock machine, that would be brutal. With an XE or better though, it's really not too bad. The 8-bit can do a lot, with a little patience and some good tools. If I have to write something like Tiled for the Atari though, that'll really make me fall behind you guys.

Anyway, I split out the boot sequence and built that as a separate test binary, both to check the code and also to check my tools, since I'm also having to debug my assembler simultaneously, since I had to do some upgrades to it to handle the volume of MADS source. It really doesn't like that you can do ASL A in MADS as just ASL. Anyway, my test binary seems to skip right over the text screen, which I'm guessing is because there's no delay for booting, but there's a problem with the Bruce Lee picture. It's mostly there, but there's no face and there's no title part. Is that stuff part of the pic or is it some PMG trickery like that other fellow who made a new screen in that other thread did ?

I'm sure there isn't any PMGs on the loading screen, at least on the original version is a Bitmap mode GR.15 with just 4colours.

yeah, I figured it out. The problem is that I normally run a VBI intercept that keeps the screen black, left margin to zero and does some custom keypress stuff. When I just boot with plain DOS and run my test, the pic displays fine. Doh!

yeah, I figured it out. The problem is that I normally run a VBI intercept that keeps the screen black, left margin to zero and does some custom keypress stuff. When I just boot with plain DOS and run my test, the pic displays fine. Doh!

Maybe or not, because I'm not a coder but if I understand you're set to black what?

On Loading screen if you set BAK colour register to black you shouldn't. There BAK is the borders like always but here, as you can see, is the dark blue.

So, lets say you set BAK to black you then have 2blacks (BAK and the other that is one of PFs: 0 or 1 or 2).

This I'm saying I'm sure is or isn't this I'm saying you're problem...

Maybe or not, because I'm not a coder but if I understand you're set to black what?

On Loading screen if you set BAK colour register to black you shouldn't. There BAK is the borders like always but here, as you can see, is the dark blue.

So, lets say you set BAK to black you then have 2blacks (BAK and the other that is one of PFs 0, 1 or 2).

This I'm saying I'm sure is or isn't this I'm saying you're problem...

Yeah, I'm not sure how it played out. IIRC the intercept just forces the background color to black, leaves the foreground as the normal white. So just looking at it now, what happens is only the blue and the white parts of the title screen show, everything else is just black. I just need to remember to reboot to remove the intercept before I test things; it's just such a habit now to install it after DOS loads, "K" and Enter.