Development tools

87 views
Skip to first unread message

Robb Bates

unread,
Dec 21, 2025, 12:07:16 PM12/21/25
to RC2014-Z80
Finally got it all figured out.

Using:
Visual Studio Code
z88dk's assembler z80asm
Dezog VSC extension
MAME emulator with RC2014zedp machine

There are a few other small steps that should be easy enough to figure out. Hit me up if you need help.

For tasks.json

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Compile GAME",
      "type": "shell",
      "command": "C:\\Program Files\\z88dk\\bin\\z80asm.exe",
      "args": [
        "-s",
        "-l",
        "-m",
        "-g",
        "-b",
        "-oC:\\Users\\robbb\\Documents\\GAME\\GAME.com",
        "C:\\Users\\robbb\\Documents\\GAME\\${fileBasename}"
      ],
      "group": "build",
      "problemMatcher": []
    },
    {
      "label": "Create Disk Image",
      "type": "shell",
      "command": "C:\\Users\\robbb\\Documents\\GAME\\Support\\cpmtools\\mkfs.cpm.exe",
      "args": [
        "-f",
        "wbw_hd512",
        "C:\\Users\\robbb\\Documents\\GAME\\GAME.img"
      ],
      "options": {
        "cwd": "C:\\Users\\robbb\\Documents\\GAME\\Support\\cpmtools",
        "env": {
          "CPMLIB": "C:\\Users\\robbb\\Documents\\GAME\\Support\\cpmtools"
        }
      },
      "dependsOn": "Compile GAME"
    },
    {
      "label": "Add GAME to Image",
      "type": "shell",
      "command": "C:\\Users\\robbb\\Documents\\GAME\\Support\\cpmtools\\cpmcp.exe",
      "args": [
        "-f",
        "wbw_hd512",
        "C:\\Users\\robbb\\Documents\\GAME\\GAME.img",
        "C:\\Users\\robbb\\Documents\\GAME\\GAME.com",
        "0:GAME.COM"
      ],
      "options": {
        "cwd": "C:\\Users\\robbb\\Documents\\GAME\\Support\\cpmtools",
        "env": {
          "CPMLIB": "C:\\Users\\robbb\\Documents\\GAME\\Support\\cpmtools"
        }
      },
      "dependsOn": "Create Disk Image"
    },
    {
      "label": "Add TEST.tst to Image",
      "type": "shell",
      "command": "C:\\Users\\robbb\\Documents\\GAME\\Support\\cpmtools\\cpmcp.exe",
      "args": [
        "-f",
        "wbw_hd512",
        "C:\\Users\\robbb\\Documents\\GAME\\GAME.img",
        "C:\\Users\\robbb\\Documents\\GAME\\test.tst",
        "0:TEST.tst"
      ],
      "options": {
        "cwd": "C:\\Users\\robbb\\Documents\\GAME\\Support\\cpmtools",
        "env": {
          "CPMLIB": "C:\\Users\\robbb\\Documents\\GAME\\Support\\cpmtools"
        }
      },
      "dependsOn": "Add GAME to Image"
    },
    {
      "label": "Run in MAME",
      "type": "shell",
      "command": "C:\\Users\\robbb\\Documents\\MAME\\mame.exe rc2014zedp -bus:5 cf -hard C:\\Users\\robbb\\Documents\\GAME\\GAME.img -ui_active -window -debugger gdbstub -debug -debugger_port 12000",
      "options": {
        "cwd": "C:\\Users\\robbb\\Documents\\MAME",
        "env": {
          "CPMLIB": "C:\\Users\\robbb\\Documents\\MAME"
        }
      },
      "dependsOn": "Add TEST.tst to Image"
    },
    {
      "label": "Build and Run in MAME",
      "dependsOrder": "sequence",
      "dependsOn": [
        "Compile GAME",
        "Create Disk Image",
        "Add GAME to Image",
        "Add TEST.tst to Image",
        "Run in MAME"
      ],
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "problemMatcher": []
    }
  ]
}




And for launch.json

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "dezog",
      "request": "launch",
      "name": "DeZog with MAME (RC2014/CP/M)",
      "remoteType": "mame",
      "mame": {
        "port": 12000
      },
      "z88dkv2": [
        {
          "path": "C:\\Users\\robbb\\Documents\\GAME\\GAME.lis",
          "mapFile": "C:\\Users\\robbb\\Documents\\GAME\\GAME.map",
          "srcDirs": []
        }
      ],
      "startAutomatically": false,
      "rootFolder": "C:\\Users\\robbb\\Documents\\GAME",
      "smallValuesMaximum": 513,
      "tmpDir": "${workspaceFolder}/.tmp",
      "history": {
        "codeCoverageEnabled": true
      }
    }
  ]
}

7alken

unread,
Dec 24, 2025, 7:35:39 AM12/24/25
to RC2014-Z80
interesting Robb, thanks;
P.

Robb Bates

unread,
Dec 24, 2025, 8:35:53 AM12/24/25
to RC2014-Z80
It's working pretty well, but there's a feature missing I haven't figured out yet.  No visual memory map.  That would be incredibly useful as you can imagine.  But for my setup, it's missing somehow.  Still digging.

Robb

Robb Bates

unread,
Dec 24, 2025, 8:49:22 AM12/24/25
to RC2014-Z80
OK, well, your message spurred me to dig and I found the answer.

-mv <start address> <size> shows a nice memory map with color highlighting for changes.

also -rmv shows a memory map block centered around each register as if it were a pointer.


This tool setup is amazing!


Highly recommended


https://github.com/maziac/DeZog

Robb Bates

unread,
Dec 24, 2025, 8:53:42 AM12/24/25
to RC2014-Z80
Not shown is my assembly code which Dezog can walk through as well.  Or as shown, it can walk through disassembled code if you want to reverse engineer something.

Dezog.png
Reply all
Reply to author
Forward
0 new messages