Itchy Scratchy Posted December 24, 2020 Share Posted December 24, 2020 (edited) 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 December 24, 2020 by Itchy Scratchy Quote Link to comment Share on other sites More sharing options...
+DZ-Jay Posted December 24, 2020 Share Posted December 24, 2020 (edited) 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 December 24, 2020 by DZ-Jay 1 Quote Link to comment Share on other sites More sharing options...
Zendocon Posted December 24, 2020 Share Posted December 24, 2020 (edited) 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 December 24, 2020 by Zendocon Added link to jzintv 3 Quote Link to comment Share on other sites More sharing options...
Itchy Scratchy Posted December 24, 2020 Author Share Posted December 24, 2020 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. Quote Link to comment Share on other sites More sharing options...
Zendocon Posted December 24, 2020 Share Posted December 24, 2020 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. 1 Quote Link to comment Share on other sites More sharing options...
Itchy Scratchy Posted December 24, 2020 Author Share Posted December 24, 2020 oooooooohhhhhhhhhhhhhh aaaaaaaaaaahhhhhhhhhhhh 1 Quote Link to comment Share on other sites More sharing options...
+DZ-Jay Posted December 24, 2020 Share Posted December 24, 2020 (edited) 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 December 24, 2020 by DZ-Jay 2 Quote Link to comment Share on other sites More sharing options...
intvnut Posted December 25, 2020 Share Posted December 25, 2020 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? 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.