prb28 / vscode-amiga-assembly Goto Github PK
View Code? Open in Web Editor NEWAmiga Assembly extension for Visual Studio Code
License: GNU General Public License v3.0
Amiga Assembly extension for Visual Studio Code
License: GNU General Public License v3.0
Should show a clear message on gdb error code.
Calculate a constant variable value and show it in a hover.
Rename a variable or a label and all it's occurrences.
Get documentation hover for vasm directives
The build process always asks for vasm configuration.
Workaround:
Use the "file/open folder" option to edit the project.
Activate the pause button.
When they are modified in the settings, the new values must be used for the next execution.
The stack frame only shows the current line.
It should show the calls of sub functions in a tree.
In the outline view the symbols are shown many times.
Create a view with the disassembled code and accept debugging with it.
Hi,
Working directory of emulator (fs-uae) is not set in the extension on launch - hence it default to the working directory of VS Code - which leads to errors on startup (both Windows and macOS). And I do not want to put fs-uae configuration into VSCode one.
I've done a patch to let user configure working directory:
"buildWorkspace": true,
"emulator": "d:\\tools\\amiga\\fs-uae.exe",
"workingdir": "d:\\tools\\amiga\\fs-uae",
The patch is for review here: https://github.com/pchalamet/vscode-amiga-assembly/commit/1b22b2b1bca0b3336fb09ab3b70e1a2cfba10999
Let me know if you are ok for a PR. If you do not agree on "workingdir", let's provide a better name for that.
Thanks.
Some addresses could be accessed via memory dump or using their 'standard' name.
When running the program with a launch configuration (not debugging), the stop button should kill the FS-UAE emulator.
The "Language Packs" VS Code extension category is to designate disaplay language (German, Bulgarian) extensions and not for general programming language extensions.
Please remove "Language Packs" from the categories in package.json:
"categories": [
"Formatters",
"Programming Languages",
"Language Packs" <--
],
Helps to find the definition of a symbol in the source code.
Example of command:
m ${pc}-#10,100
When there is one line of code very long it shouldn't mess with the rest of the code formatting and send the comments too far from the code.
The dynamic formatting is painful for git diff: adding a label longer than before makes all the code appears in diff.
Actual:
m $58ac,100,2,2
01fc 0000 | ....
000058ac:01fc 0000 | ....
000058ae:0100 0200 | ....
Expected:
m $58ac,100,2,2
01fc 0000 | ....
000058ac:01fc 0000 | ....
000058b0:0100 0200 | ....
The syntax colorization should be more careful and not interpret always * as a comment.
I've change the lunch.json file, so that I could use the original amiga rom kickstart1.3. To do that I've added this option: "--kickstart_file=${workspaceFolder}\fs-uae\kick13.rom" to the debugging part of the json file.
When I start debugging an alert messagebox pops up with the content: Error: ECONNRESET
Would be nice to be able to select a codeblock and get a display in the statusbar which register are used/not used. For example
"Registers used: d0-d1/d5/a1-a3/a7 - Free: d2-d4/d6-d7/a0/a4-a6" or
"Registers used: d0 d1 d5 a1 a2 a3 a7 - Free: d2 d3 d4 d6 d7 a0 a4 a5 a6".
The debugger, if selected, should break on an exception.
Numbers starting with @ should be assumed as octals.
To debug and view a memory dump disassembled:
https://github.com/aquynh/capstone/tree/master/cstool
It is needed to debug on a system exception.
The code:
a=32
myvar = 28
foo = 43
should be formated:
a = 32
myvar = 28
foo = 43
If I wanted to look at an old Amiga game that I have an unencrypted version of (say for example Kick Off 2) and I have the ADF file.. I can examine it with hexdump in VSCode and can see it consists of several smaller components. I've used a tool (DDFS) to extract the parts of the disk and end up with KickOff2.prg file, is it the possible to use the Disassembler to convert it in to assembly language instructions?
The extension should preview an iff/ilbm image.
The debug command runs FS-UAE in debug mode which is slow.
During development process a fast "Run" command is interesting, no debugging mode just build and run the application in the emulator.
It can be done with a task definition:
{
"version": "2.0.0",
"tasks": [
{
"label": "Run",
"type": "process",
"command": "mybinary/fs-uae",
"args": [
{
"value": "${workspaceFolder}/fs-uae/run.fs-uae",
"quoting": "escape"
}
],
"problemMatcher": []
}
]
}
But it's less efficient.
The code:
SCRBUF_W_PX = W
SCRBUF_H_PX = H
is formatted as:
SCRBUF_ W
SCRBUF_ H
The calculator does not parse second (and possible more) arguments correctly.
The expression "$1000+$100" show up as follows:
$1000+$100=#4196/$1064/%10000.01100100
Should result in the following:
$1000+$100=#4352/$1100/%1000100000000
Having a view of the disassembled copper instructions should help to understand the code.
Hi, I just updated to v0.9.0 and I'm getting the below error when trying to use the supplied binaries
command 'amiga-assembly.disassemble-file' not found
The path is the same as when I had it for v0.8.0 which didn't bring up this error message
(although I haven't managed to disassemble any Amiga code yet.. which I think is because I don't know what I'm doing exactly :) )
Activate find definition for a symbol.
To test the program on a real amiga, the extension should generate an adf file ready to test with an usb drive.
Find all the references for a symbol
During calculation the result in hex is separated with ".".
It is good for comprehension but not for a copy/paste command.
Hi! I have tried and tried to follow the instructions to have VC configured, assemble code and sends it to FS-UAE but I had no success. I am finding the instructions incomplete especially for a newbie to VC like me. I am not so familiar with VC config settings. I expected that if add an extension I can somehow configure the setting by giving the path to where the rest of the files are and that's it. It looks more complicated than that. Is this something that can be sorted out and can the documentation be made more clear of how it is supposed to be configured.
Having said that I am still writing code using VC since I like the colour theme that it offers and of course it is faster to use a PC. I then save the code and read the code via AsmOne and assemble there but I would prefer if this done like with KickAssembler that you code and send the code to the C64 EMU and it runs.
Anyway keep up the good work. I think what you have achieved so far is very cool even though I am having issues.
The pending breakpoints are not stored and sent to fs-uae after a successful connection.
The extension should convert images with formats: iff/ilbm, gif, png, raw(with mode selection).
Show the labels in the outline tree of vscode
Launching the debug should build the workspace.
Offset added are not accurate.
If the breakpoint is too close (first or second instruction) from the beginning of the program it is not hit.
Workaround:
To have an insight view of the produced build, or to reverse engineer a binary.
The binary will be disassembled and inserted in a editor '.s' document.
Should try to show the subroutines with their inner labels in a hierarchical manner.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.