Jump to content
IGNORED

Game disassembly


Recommended Posts

Been looking for a realistic Intellivision game disassembler.

 

What gets me is that Colecovision has decent emulators and Mame is so limited

Atari has theirs but Intellivision is not only lacking since Bliss went nowhere.

 

I mention Bliss because it was extremely load a game and go.  No fiddling with front ends or cli.

 

So this leads us to a disassembler.

 

I would love to have an emulator that has a built in debugger and disassembler or better yet just a really good disassembler.

 

My biggest quest is to figure the scrolling routine for Cloudy Mountain as well as other games.

 

If anyone has ideas, direction, code for cloudy mountain or anything to help me write new games for the Intellividion then please chime in.

 

TIA

 

Edited by Itchy Scratchy
Link to comment
Share on other sites

You should check out jzIntv, which not only has the most accurate hardware emulator, but also includes a built-in fancy-pants debugger.  It comes with a suite of tools, which include ... a disassembler.  The debugger can also disassemble on the fly, so you're good to go for game analysis and reverse-engineering.  It is a full-featured debugger, with breakpoints, memory watches, etc.  It's just all in the command-line. :)

 

Check out the SDK-1600 which includes the emulator, assembler, disassembler, and all the rest of the tools and libraries.  It is also fully documented.

http://spatula-city.org/~im14u2c/intv/

 

However, if what you want is to create games for Intellivision, your best bet is to use IntyBASIC, which is a compiled BASIC variant for the Intellivision that outputs assembly source code.  The output of the IntyBASIC compiler is ready to assemble with the tools from the SDK-1600.  It comes with documentation and plenty of examples.  Check out the IntyBASIC SDK to get started:

 

 

There are scrolling examples in both the SDK-1600 (in Assembly Language) and IntyBASIC SDK (in BASIC), so you don't really need to disassemble Cloudy Mountain to figure it out (although you could still do that if you'd like).

 

The best thing is that the IntyBASIC SDK integrates all the necessary tools, the emulator/debugger, the compiler, and the assembler; so you can build your program, test it in the emulator, debug it in the debugger, and get it ready for production.

 

And of course ... if you have any questions at all, there are plenty of knowledgeable people in this forum. ;)

 

   -dZ.

Edited by DZ-Jay
  • Thanks 1
Link to comment
Share on other sites

4 hours ago, Itchy Scratchy said:

I would love to have an emulator that has a built in debugger and disassembler or better yet just a really good disassembler.

 

My biggest quest is to figure the scrolling routine for Cloudy Mountain as well as other games.

 

If anyone has ideas, direction, code for cloudy mountain or anything to help me write new games for the Intellividion then please chime in.

jzintv is the emulator you're looking for.  It has a built-in debugger if you enable it with the -d switch, as well as a disassembler (dasm1600).  I had created a development environment of my own which fetches the latest version of the source code for jzintv and compiles it.  Within Windows, it's easy to use as well, though it's command-line driven.  I created a front-end for my environment as well as Windows to launch games within jzintv with relative ease.

 

Funny you mention Cloudy Mountain.  I reverse engineered that game some time ago, and also deconstructed the cave generation routines.  As for the "scrolling routine", I assume you mean the mechanics of scrolling in general.  @nanochess' book "Programming Games For Intellivision" has the information you need.

Edited by Zendocon
Added link to jzintv
  • Like 3
Link to comment
Share on other sites

2 hours ago, Zendocon said:

Funny you mention Cloudy Mountain.  I reverse engineered that game some time ago, and also deconstructed the cave generation routines.  As for the "scrolling routine", I assume you mean the mechanics of scrolling in general.  @nanochess' book "Programming Games For Intellivision" has the information you need.

May I have a copy of the cave generating routines ect...

As far as the book.  It is now on my Christmas list ?

 

I wanted to make something similar as Cloudy Mountain and need as much info on how it works as possible.

Link to comment
Share on other sites

Just now, Itchy Scratchy said:

May I have a copy of the cave generating routines ect...

As far as the book.  It is now on my Christmas list ?

 

I wanted to make something similar as Cloudy Mountain and need as much info on how it works as possible.

The full details I have posted here.  I also posted a ROM hack, which you can get from my website.

  • Like 1
Link to comment
Share on other sites

5 hours ago, Zendocon said:

Funny you mention Cloudy Mountain.  I reverse engineered that game some time ago, and also deconstructed the cave generation routines.  As for the "scrolling routine", I assume you mean the mechanics of scrolling in general.  @nanochess' book "Programming Games For Intellivision" has the information you need.

 

Be aware that the book shows how to program games using IntyBASIC, so if you are planning on using IntyBASIC, reverse-engineering the Cloudy Mountain game or studying its disassembly may be a bit of overkill.  Not a bad thing to do, just perhaps more effort than you need.

 

Take a look at Oscar Toledo's book mentioned above (also available as an eBook directly from the author's page).  Many people have been able to do exceptionally advanced games armed merely with IntyBASIC and Oscar's book (and, of course, the help from people in this forum).  IntyBASIC is not your regular interpreted microcomputer BASIC; it compiles into very efficient assembly language source code.

 

If what you are looking for is not in the book or in one of the examples that come with the compiler, just ask specific questions in this group, and someone will chime in rather quickly. :)

 

All that to say that, with the advent of IntyBASIC, programming games for the Intellivision is no longer an arcane art requiring pouring through disassemblies and debugger output -- although, of course, some still do just that for the fun of it.  It's rather straightforward to create games much more complex than the original Mattel games, especially with 40 years of combined industry experience in building games, and a thriving community of helpful veterans.

 

And, of course, if you prefer to stick to Assembly Language (like some of us do), then there is also plenty of assistance, community experience, examples, and wholesale game source code available.  Just ask. ;)

 

   -dZ.

Edited by DZ-Jay
  • Like 2
Link to comment
Share on other sites

jzIntv has a built in debugger, as already noted, and comes with two disassemblers:  a "dumb" disassembler (dasm1600) and a "smart" disassembler (dis1600).  I provide both because the "smart" disassembler sometimes makes bad decisions. 

 

But really, it sounds like you're looking to write a game that makes use of the hardware scrolling capability to present a scrolling maze.  You don't need a disassembler to learn that.

 

The hardware itself is really very simple: There are a pair of hardware registers that will shift the screen by 0 to 7 pixels in the X and Y directions.  There are a pair of hardware bits that will block off the leftmost 8 columns and topmost 8 rows of the display.

 

The rest is done in software.  You have to shift the BACKTAB to scroll by more than one card's width in either direction.  The best way to do that depends on how you architect your game. 

 

So... let's dig into that, shall we?

  • Like 2
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...