Skip to content

Commit

Permalink
alpha 2 changes
Browse files Browse the repository at this point in the history
- many bug fixes
- improved examples
- better watch view
- installation auto-detect on linux
- added profiling and delta cycle measurement
- added setup guidelines
  • Loading branch information
roland committed Jan 21, 2023
1 parent 75a7188 commit fe5a7b5
Show file tree
Hide file tree
Showing 25 changed files with 1,291 additions and 492 deletions.
35 changes: 30 additions & 5 deletions README.md
Expand Up @@ -14,14 +14,39 @@ The VS64 extension makes it easy to build, debug, inspect and run C64 assembly c
* Extended introspection for 6502 cpu states and C64 custom chips state information and memory contents
* On-the-fly disassembly of C64 program files

## Requirements
## Setup

* You need to install either the ACME assembler or the CC65 compiler toolkit.
* For debugging using VICE, you need to install and configure the VICE C64 emulator.
### ACME Cross-Assembler

There are no further requirements or dependencies to operate this extension.
VS64 supports the ACME Cross-Assembler.

## Introduction and Basic Usage
* Manual installation: Download and install from https://sourceforge.net/projects/acme-crossass
* Use a package management system, for example on Ubuntu/Debian: `sudo apt install acme`

In case you did a manual or custom installation, please make sure you updated the VS64 settings with the correct ACME installation path.

### CC65 Compiler

VS64 also supports the CC65 6502 C Compiler.

* Manual installation: Download and install from https://cc65.github.io
* Use a package management system, for example on Ubuntu/Debian: `sudo apt install cc65`

In case you did a manual or custom installation, please make sure you updated the VS64 settings with the correct CC65 installation and include paths.

### VICE Emulator

In addition to the internal 6502 cpu emulator, VS64 also supports debugging using the VICE emulator.

* Manual installation: Download and install from https://vice-emu.sourceforge.io
* Use a package management system, for example on Ubuntu/Debian: `sudo apt install vice`

In case you did a manual or custom installation, please make sure you updated the VS64 settings with the correct VICE executable.

> Please notice: It is recommended to use or upgrade to version 3.7 of VICE as with this version, the binary monitor interface has been declared stable.

## Basic Usage

The VS64 extension provides a convienient editing, build and run environment. This is done by providing syntax highlighting, seamless integration to the task, build and launch system, an embedded 6502 CPU emulator for fast and precise evaluation of 6502 code and integration of the VICE C64 emulator for advanced system debugging. For further analysis, an integrated disassembler for C64 program files is provided.

Expand Down
2 changes: 1 addition & 1 deletion examples/asm/project-config.json
Expand Up @@ -5,7 +5,7 @@
"main": "src/main.asm",
"build": "debug",
"definitions": [],
"includes": ["src/includes"],
"includes": ["src/includes", "resources"],
"args": [],
"compiler": ""
}
169 changes: 146 additions & 23 deletions examples/asm/resources/sprites.asm
Expand Up @@ -2,27 +2,150 @@
; Sprites
;

; 765432107654321076543210
+sprite_line %........................
+sprite_line %.#......................
+sprite_line %.##.....................
+sprite_line %.###....................
+sprite_line %.####...................
+sprite_line %.#####..................
+sprite_line %.######.................
+sprite_line %.#######................
+sprite_line %.########...............
+sprite_line %.#########..............
+sprite_line %.########...............
+sprite_line %.######.................
+sprite_line %.######.................
+sprite_line %.##..##.................
+sprite_line %.#....##................
+sprite_line %......##................
+sprite_line %.......##...............
+sprite_line %.......##...............
+sprite_line %........##..............
+sprite_line %........##..............
+sprite_line %........................
!byte 0 ; pad to 64-byte block
sprite_data

; 765432107654321076543210
+sprite_line %......#.#.#..#.#........
+sprite_line %....#.#.#.#..#.#.#......
+sprite_line %....#.#.#.#..#.#.#......
+sprite_line %..#.#.#.#.#..#.#.#.#....
+sprite_line %..#.#.#.#.#..#.#.#.#....
+sprite_line %..#.#.#.#..#.#.#.#.#....
+sprite_line %#.#.#.#.#..#.#.#.#.#.#..
+sprite_line %#.#.#.#.#..#.#.#.#.#.#..
+sprite_line %#.#.#.#.#..#.#.#.#.#.#..
+sprite_line %.#.##.#.#..#.#.#.#.#.#..
+sprite_line %.#.#.#.#.##.#.#.#..#.#..
+sprite_line %.#.#.#.#.##.#.#.#.#.#...
+sprite_line %.#.#.#.#.##.#.#.#.#.#...
+sprite_line %.#.#.#.#.##.#.#.#.#.#...
+sprite_line %...#.#.#.##.#.#.#.#.....
+sprite_line %...#.#.##.#.#.#.#.#.....
+sprite_line %...#.#.##.#.#.#.#.#.....
+sprite_line %.....#.##.#.#.#.#.......
+sprite_line %.....#.##.#.#.#.#.......
+sprite_line %.......##.#.#.#.........
+sprite_line %........................
!byte 0

; 765432107654321076543210
+sprite_line %......#.#..#.#.#........
+sprite_line %....#.#..#.#.#.#.#......
+sprite_line %....#.#..#.#.#.#.#......
+sprite_line %..#.#.#..#.#.#.#.##.....
+sprite_line %..#.#.#..#.#.#.#.##.....
+sprite_line %..#.#..#.#.#.#.#.##.....
+sprite_line %#.#.#..#.#.#.#.#.##.#...
+sprite_line %#.#.#..#.#.#.#.##.#.#...
+sprite_line %#.#.#..#.#.#.#.##.#.#...
+sprite_line %.#.##..#.#.#.#.##.#.#...
+sprite_line %.#.#.##.#.#.#.#.#.#.#...
+sprite_line %.#.#.##.#.#.#.#..#.#.#..
+sprite_line %.#.#.##.#.#.#.#..#.#.#..
+sprite_line %.#.#.##.#.#.#.#..#.#.#..
+sprite_line %...##.#.#.#.#.#..#.#....
+sprite_line %...##.#.#.#.#.#..#.#....
+sprite_line %..#.#.#.#.#.#.#..#.#....
+sprite_line %....#.#.#.#.#.#..#......
+sprite_line %....#.#.#.#.#..#.#......
+sprite_line %......#.#.#..#.#........
+sprite_line %........................
!byte 0

; 765432107654321076543210
+sprite_line %......#..#.#.##.........
+sprite_line %....#..#.#.#.##.#.......
+sprite_line %....#..#.#.#.##.#.......
+sprite_line %..#.#..#.#.#.##.#.#.....
+sprite_line %..#..#.#.#.#.##.#.#.....
+sprite_line %..#..#.#.#.#.##.#.#.....
+sprite_line %#..#.#.#.#.##.#.#.#.#...
+sprite_line %#..#.#.#.#.##.#.#.#.#...
+sprite_line %#..#.#.#.#.##.#.#.#.#...
+sprite_line %.##.#..#.#.##.#.#.#.#...
+sprite_line %.##.#.#.#.#.#.#.#.#.#...
+sprite_line %.##.#.#.#.#.#..#.#.#.#..
+sprite_line %.##.#.#.#.#.#..#.#.#.#..
+sprite_line %.##.#.#.#.#.#..#.#.#.#..
+sprite_line %..#.#.#.#.#..#.#.#.#....
+sprite_line %..#.#.#.#.#..#.#.#.#....
+sprite_line %..#.#.#.#.#..#.#.#.#....
+sprite_line %....#.#.#.#..#.#.#......
+sprite_line %....#.#.#..#.#.#.#......
+sprite_line %......#.#..#.#.#........
+sprite_line %........................
!byte 0

; 765432107654321076543210
+sprite_line %.......#.#.##.#.........
+sprite_line %.....#.#.#.##.#.#.......
+sprite_line %.....#.#.#.##.#.#.......
+sprite_line %...#.#.#.#.##.#.#.#.....
+sprite_line %...#.#.#.#.##.#.#.#.....
+sprite_line %...#.#.#.##.#.#.#.#.....
+sprite_line %.#.#.#.#.##.#.#.#.#.#...
+sprite_line %.#.#.#.#.##.#.#.#.#.#...
+sprite_line %.#.#.#.#.##.#.#.#.#.#...
+sprite_line %#.#..#.#.##.#.#.#.#.#...
+sprite_line %#.#.#.#.#..#.#.#.##.#...
+sprite_line %#.#.#.#.#..#.#.#.#.#.#..
+sprite_line %#.#.#.#.#..#.#.#.#.#.#..
+sprite_line %#.#.#.#.#..#.#.#.#.#.#..
+sprite_line %..#.#.#.#..#.#.#.#.#....
+sprite_line %..#.#.#..#.#.#.#.#.#....
+sprite_line %..#.#.#..#.#.#.#.#.#....
+sprite_line %....#.#..#.#.#.#.#......
+sprite_line %....#.#..#.#.#.#.#......
+sprite_line %......#..#.#.#.#........
+sprite_line %........................
!byte 0

; 765432107654321076543210
+sprite_line %.......#.##.#.#.........
+sprite_line %.....#.##.#.#.#.#.......
+sprite_line %.....#.##.#.#.#.#.......
+sprite_line %...#.#.##.#.#.#.#..#....
+sprite_line %...#.#.##.#.#.#.#..#....
+sprite_line %...#.##.#.#.#.#.#..#....
+sprite_line %.#.#.##.#.#.#.#.#..#.#..
+sprite_line %.#.#.##.#.#.#.#..#.#.#..
+sprite_line %.#.#.##.#.#.#.#..#.#.#..
+sprite_line %#.#..##.#.#.#.#..#.#.#..
+sprite_line %#.#.#..#.#.#.#.#.#.#.#..
+sprite_line %#.#.#..#.#.#.#.##.#.#...
+sprite_line %#.#.#..#.#.#.#.##.#.#...
+sprite_line %#.#.#..#.#.#.#.##.#.#...
+sprite_line %..#..#.#.#.#.#.##.#.....
+sprite_line %..#..#.#.#.#.#.##.#.....
+sprite_line %...#.#.#.#.#.#.##.#.....
+sprite_line %.....#.#.#.#.#.##.......
+sprite_line %.....#.#.#.#.##.#.......
+sprite_line %.......#.#.##.#.........
+sprite_line %........................
!byte 0

; 765432107654321076543210
+sprite_line %.......##.#.#..#........
+sprite_line %.....##.#.#.#..#.#......
+sprite_line %.....##.#.#.#..#.#......
+sprite_line %...#.##.#.#.#..#.#.#....
+sprite_line %...##.#.#.#.#..#.#.#....
+sprite_line %...##.#.#.#.#..#.#.#....
+sprite_line %.##.#.#.#.#..#.#.#.#.#..
+sprite_line %.##.#.#.#.#..#.#.#.#.#..
+sprite_line %.##.#.#.#.#..#.#.#.#.#..
+sprite_line %#..#.##.#.#..#.#.#.#.#..
+sprite_line %#..#.#.#.#.#.#.#.#.#.#..
+sprite_line %#..#.#.#.#.#.##.#.#.#...
+sprite_line %#..#.#.#.#.#.##.#.#.#...
+sprite_line %#..#.#.#.#.#.##.#.#.#...
+sprite_line %...#.#.#.#.##.#.#.#.....
+sprite_line %...#.#.#.#.##.#.#.#.....
+sprite_line %...#.#.#.#.##.#.#.#.....
+sprite_line %.....#.#.#.##.#.#.......
+sprite_line %.....#.#.##.#.#.#.......
+sprite_line %.......#.##.#.#.........
+sprite_line %........................
!byte 0

sprite_data_end

0 comments on commit fe5a7b5

Please sign in to comment.