Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

AtariVM PSP

From GameBrew
Revision as of 13:30, 19 September 2024 by HydeWing (talk | contribs) (Created page with "{{Infobox PSP Homebrews |title=Atari VM |image=atarivmpsp.png |description=Atari Assembly Language Virtual Machine. |author=Jared Bruni |lastupdated=2006/01/31 |type=Other Apps |format= |version=0.2 Alpha |license=GPL-3.0 |download=https://dlhb.gamebrew.org/psphomebrew/atarivmpsp.7z devkit + demos |website=https://www.dcemu.co.uk/vbulletin/threads/17984-The-Atari-Assembly-Language-Virtual-Machine |source=https://github.com/lostjared/PSP.Homebrew/tree/master/apps }} Atari...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Atari VM
Atarivmpsp.png
General
AuthorJared Bruni
TypeOther Apps
Version0.2 Alpha
LicenseGPL-3.0
Last Updated2006/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.

External links

Advertising: