More actions
Atari VM | |
---|---|
General | |
Author | Jared Bruni |
Type | Other |
Version | 0.2 Alpha |
License | GPL-3.0 |
Last Updated | 2006/01/31 |
Links | |
devkit + demos Download | |
Website | |
Source | |
AtariVM is a virtual machine that interprets Atari 800 assembly language with a few extra instructions for modern computers. It is not a Atari emulator that runs Atari 800 ROMs.
This is meant to help you learn how to write a interpreter/virtual machine as well as teach you the foundations of modern programming languages.
What this program contains:
- The ability to output debug information in HTML instead of atari machine language so you can look at what the assembly code would be translated to, which mnemoics stand for which machine instructions etc.
- The ability to produce debug output into the stdout so you can see what is going on after the program finishes execution, like what memory locations it changes, and the status of the registers and flags.
New additions to the language:
- Ability to use a Register as a variable on the instructions.
- Interrupt Instruction to have the program be able to preform.
- Special operations via a interrupt system call which can point to addresses.of functions written in C.
Changelog
0.2 Alpha
- I added the instruction LDM Load Memory pass the value to start it off to the accumulator and than it will put the Stop location in register Y and you just use the INC DEC ADC SBC instructions to manipulate the accumulators value of the memory location. I also added special interrupts for testing memory.
- The 0.2 contains the ability to handle input from the joystick, and a fast fill memory interrupt plus i spent 10 hours today working on fixing the code so it would work just right.
- The older scripts wont work with the new build since I had to change the memory locations in order to get the new instructions to work.
Credits
Jared Bruni / Lostjared.