Jump to content
IGNORED

I disassembled Chuckie Egg


Captain Cozmos

Recommended Posts

For the Tatung Einstein and the MSX.

They are both 99% the same code, MSX has a couple of miner changes.

 

I could honestly say that with very few changes, audio and keyboard, that it would work on the ADAM strait out of the box.


On the unexpanded Colecovision it is kind of hmmmm because the game uses a 768 byte screen buffer to track everything and that is before the sound and other variables.

So, it would be a project that could easily be rewritten natively to the Colecovision or crammed in as is.

You really have to ask yourself was a 2k chip really that much more expensive than the 1k back in 1982?

  • Thanks 1
Link to comment
Share on other sites

1 hour ago, ColecoGamer said:

Hmmm… what about memory addresses? I would imagine those would be different on the CV.

The memory addresses are the same in any Z80 based system $0-$FFFF

 

Changing those to what is on the Colecovision is not an issue as long as there is enough space.
 

In disassembling these games I have found some of the laziest programing but that is to be expected back then.  Get it done with the resources you had.

If you write in Basic you define a variable right along whatever else you are doing.  When you say something like A=3 or let a=3...I don't really remember, it is created right then and there and you do not know or care where the 3 is stored.

The way I write in assembly is define variable by setting it up at the end of the code and I can track where every single one is stored in memory or if I want to get fancy I can give it an exact address like Bob: equ $7020.  I know bob will reside at $7020 as long as I make sure nothing overwrites that address we are all good.  Then I ld a, 3 then ld (bob), a.  Now 3 resides in Bob... easy peasy.

In the case of Chuckie Egg and games of that time, the programmers threw everything in one area regardless if it is data or a variable.
A lot of that can be separated so I am only using the Colecovision memory as needed and have the rest in ROM.
Sometimes that can not be done because there is another aspect to this which is when they decide to have a screen buffer.
In that case, something like "GAME OVER" is sent to the buffer and then sent to the pattern name table.  The PNT is basically the screen in VRAM
If I had to do this I would send it directly to the PNT because again, Colecovision only has 1k.

I can, in theory, have a 768 byte Screen Buffer, Jungle Hunt uses one.  But Jungle Hunt was designed to fit within the limits of the Colecovision.  Chuckie Egg was designed to just work within a 64k environment and they may have more that uses memory that I can fit with that buffer.

 

So, if I "can" finagle Chuckie Egg to fit in a 1K deal then there you go.  Otherwise, just make it as an ADAM game or a Colecovision with a memory expansion.
Now we get into the SGM and others because they got around all of that by working their magic, throwing it on a large EPROM and there you go.
My way takes longer and attention to detail.

The best option, in my book, is to take what exists and rewrite it to work within the Coleco environment.  But then...There is an always but then........

The way Chuckie Egg handles tracking of assets goes through the screen buffer so you might as well rewrite the whole game.
Is it worth the time, effort and money?

Look at it this way.
I made an email deal with the author to write Dino Eggs.  I had the go ahead.  I worked on it for some time and the deal has been put on hold over "pick a reason"
Being that the original source was 6502 I could not just use it.  So it was the entire game from the ground up using pictures and youtube videos.
Then I am supplying the chips, PCB's, Labels....you get the idea.  So now it is costs vs expectation of sales.


You can get the feeling why a lot of the, other guys games consists of taking a rom, add a wrapper, ect...  It's not cost effective any other way.
It takes a lot of time and talent to do this stuff with basically little to no reward.

I have had criticism of my own work publicly and privately as if I owed someone something or was under contract.  To be downgraded after countless hours is a kick to the gut.
I am aware of someone who made a couple of fairly decent games and was boiled in oil over it.  Who knows, I may work on Chuckie Eggs for 3 months converting just for "the other guy" to slap it in a large rom and get it out the door in a week.  That's also why we have to respect each others work which there is plenty to go around.

Maybe this is a long winded rant but you get the idea of why games can't just be converted over, politics, professionalism, and I don't even remember what the original question was.
 

The other thing I would like to add "is the game worth the effort"  Chuckie Egg has 8 levels, it's a decent platformer, it might be a good contender while something like Jet Set Willy I think is over hyped.

I wrote this somewhere else but I honestly believe that the Tatung Einstein should have been the ADAM and not what Coleco did.

We would be in so much better shape as far as game and other software.



Holy Crap...
After I save the page I see I wrote a two page essay.

I have to stay off the 5 hour energy for awhile.

 

 

 


 

Edited by Captain Cozmos
  • Thanks 1
Link to comment
Share on other sites

On 8/30/2023 at 8:39 PM, Captain Cozmos said:

On the unexpanded Colecovision it is kind of hmmmm because the game uses a 768 byte screen buffer to track everything and that is before the sound and other variables.

You can grab Tile ID information from the vram's name table instead of the Colecovision RAM, there's no room have a screen buffer on a 1KB RAM and run coleco OS7 stuff. But you have all 16KB of VRAM to load data to. So gathering egg and pile of seed should be easy, just make sure that the counter is accurate. The enemy ostrich can be sprites, so it doesn't need to be printed on to the name table, so it doesn't need to print a copy of the name table from ROM to erase the ostrich. You can have the level RLE or pletter compressed in this way.

  • Like 1
Link to comment
Share on other sites

14 hours ago, Kiwi said:

You can grab Tile ID information from the vram's name table instead of the Colecovision RAM, there's no room have a screen buffer on a 1KB RAM and run coleco OS7 stuff. But you have all 16KB of VRAM to load data to. So gathering egg and pile of seed should be easy, just make sure that the counter is accurate. The enemy ostrich can be sprites, so it doesn't need to be printed on to the name table, so it doesn't need to print a copy of the name table from ROM to erase the ostrich. You can have the level RLE or pletter compressed in this way.

My original intent on disassembling these programs is to find routines for enemy AI, pattern manipulation and even sound depending on which system.

A by-product in doing so is also learning how the whole system works.
If there is a demand for Chuckie Eggs I think I can do a port but I have the usual concerns of not showing originality and just porting another game.

I have two neat ideas for original games but the old saying that there is nothing original under the sun always comes to play.
And then I haven't completed the Shamus project.  Everything is done but the pattern movement needs to be improved and I want to update the graphics a bit more.

Edited by Captain Cozmos
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...