Previous Thread
Next Thread
Print Thread
Page 3 of 3 1 2 3
Re: Battlezone fun [Re: Golden Child] #117372 05/24/20 02:45 PM
Joined: May 2020
Posts: 3
F
fadden Offline
Member
Offline
Member
F
Joined: May 2020
Posts: 3
Originally Posted by Golden Child
I like how you integrated the pictures of the shapes.


I think we had similar goals, but wildly different approaches. :-) I'm new to MAME, and had no idea the debugger could do the things you showed.

Originally Posted by Golden Child
One of the things I'd been fiddling with lately was figuring out the 3d models from Stellar 7, you might have a gander at https://www.calormen.com/jsbasic/ and look in the sample programs.


Stellar 7 is pretty straightforward once you figure out that
it's using polar coordinates
, though even figuring out which of the various files holds the data takes some digging. Elite was a bit more twisty... between the backface culling and the subtle bugs nobody noticed, it took a while to sort out, even with a commented BBC Micro disassembly.

Re: Battlezone fun [Re: Golden Child] #117373 05/24/20 03:55 PM
Joined: Apr 2006
Posts: 680
D
Dullaron Offline
Senior Member
Offline
Senior Member
D
Joined: Apr 2006
Posts: 680
There used to be a iOS Tank game base off of the Battlezone. Atari made the dev removed it. https://www.pocketgamer.com/article...i-onto-ios-under-the-name-panzerkampf-3/ That long time ago. Here is a video. https://www.youtube.com/watch?v=73htOPb6bEw Too bad I didn't get it.


Windows 10 Pro 64-bit / Intel Core i5-4460 3.20 GHz / 8.00 GB RAM / AMD Radeon R9 200 Series
Re: Battlezone fun [Re: fadden] #117374 05/24/20 04:58 PM
Joined: Mar 2001
Posts: 16,523
R
R. Belmont Online Content
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,523
Originally Posted by fadden
I'm new to MAME, and had no idea the debugger could do the things you showed.


The debugger's quite powerful (conditional breakpoints, for instance) and supports driver-specific extensions. 8-bit Apple IIs show Monitor entry points, zero page locations, $C0XX soft switches, and ProDOS 8 calls by name in the disassembly, for example. For Battlezone it'd be possible to have the disassembler show the variable names and add a custom command to disassemble the display lists.

But most of what Golden Child did was actually through the Lua script engine. Scripts have pretty complete access to the emulated system (including being able to draw overlays on top of the emulated system's video), and can actually play the games.

Re: Battlezone fun [Re: R. Belmont] #117375 05/24/20 09:24 PM
Joined: May 2020
Posts: 3
F
fadden Offline
Member
Offline
Member
F
Joined: May 2020
Posts: 3
Originally Posted by R. Belmont
For Battlezone it'd be possible to have the disassembler show the variable names and add a custom command to disassemble the display lists.


Are the symbol lists dynamic? I see "symlist" but no "symload" in the help text. One of the things I want to add to SourceGen is symbol table export, so you can annotate the code you're playing with in the emulator.

There are multiple types of symbols, some easier to handle than others:

  • global labels for variables and code
  • non-unique local labels for code ("@loop")
  • local variables (used for zero-page variables)
  • constants


All of the above can be converted to unique global symbols. Some people have been running assemblers in a mode that generates a symbol table (e.g. this), and then parsing that table, but that approach limits you to whatever the assembler wants to support.

Re: Battlezone fun [Re: Golden Child] #117376 05/25/20 01:43 AM
Joined: Mar 2001
Posts: 16,523
R
R. Belmont Online Content
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,523
The symbol list shown by symlist is MAME-internal symbols. The current infrastructure for showing labels for memory locations in the debugger is a bit too low-level (you get the opcodes and operands and either pass back the disassembled instruction text with the label included or tell the debugger to handle it as usual) and it'd be nice if there was a cleaner way to handle that stuff, including loadable symbol tables. (On the other hand, I'm not sure how you'd do things like ProDOS calls or 68000 A-line traps without that lower-level interface).

AJR had a commit yesterday hinting at a debugger refactoring; we'll see what that involves.

Re: Battlezone fun [Re: fadden] #117377 05/26/20 10:34 AM
Joined: Feb 2014
Posts: 384
G
Golden Child Online Content OP
Senior Member
OP Online Content
Senior Member
G
Joined: Feb 2014
Posts: 384
Wow, the battlezone disassembly is really comprehensive! And all the others too. Awesome! That's exactly why I've been looking for. I'm just trying to absorb all the greatness...

The 6502bench SourceGen tool looks really interesting. That screenshot of crossrunner? looked really cool. I watched the SourceGen youtube videos (and I didn't think they were boring).


It'd be really slick if the mame debugger could display source code and sync with assembler listings like the c64 debugger in this video:
https://www.youtube.com/watch?v=ZU6TQN5Gi5g (KickAssembler + C64 Debugger integration)

Or something like ICU64 where you could have alternate views of memory:
https://www.youtube.com/watch?v=tjcvR5McmSg

I was thinking of trying to open up an additional screen where I could draw things with lua, that could do things like visualize bitmap data in memory.

Page 3 of 3 1 2 3

Who's Online Now
3 registered members (Sune, Lord Nightmare, 1 invisible), 95 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
ShoutChat Box
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics8,784
Posts115,582
Members4,908
Most Online890
Jan 17th, 2020
Powered by UBB.threads™ PHP Forum Software 7.7.3