PDA

View Full Version : [Multi-Platform+Open Source] BAGASM(RC2) -Assembly like scripting Interpreter



wraggster
July 29th, 2012, 13:58
via http://www.neoflash.com/forum/index.php/topic,7443.0.html

Nickname: BassAceGold
Project Name: BAGASM RC2
From: Canada
Division: APP
Platform: Currently compiled for PC and Supercard DS2 for the nintendo DS
Original Enter: YES
Support Motion: NO
In last NEO Compo this project have won in the top 10: NO

I'm not entirely sure that this entry will be accepted or not based on its current platform ports, however, I will try entering anyway on the basis that it is open source, fairly portable, and retro in the sense it is based on an old programming language.

BAGASM is a portable interpreter for an assembly like scripting language in which
one can bind their own functions. The interpreter is written completely in C originally
for the Supercard DSTwo flashcard for the Nintendo DS, but can also be easily ported and compiled for other platforms.

Currently there is only a PC and Supercard DS2 port, the PC side uses SDL for graphics, timer and input functions which would make it really easy to port to the Wii or Dingoo if one wanted to.

The performance of this interpreter is not bad. Currently, a test program containing 843441 operations completes in
0.37 seconds on the 396mhz clock of the DS2.

Changes from first release:
BAGASM RC2
-added JMPBK function. This will jump back to the line after a previous jump, requires no arguments
-removed $VMX define for video memory access and added SETPIX screen,color. This results in better video access performance
-constant values and jumps are now stored in the virtual ram (4kb) to improve read performance
-new memory access routines for better performance
-pc interpreter will now count the number of operations executed within a programs run time
-added white space handling to code parsing, can now use tabs or spaces to indent lines, and new lines to organize code. Functions still must follow "FUNC ARG1,ARG2" format (white space sensitive)
-vastly improved general performance (test program took ~1.5 seconds to complete in RC1, now it takes ~0.36 seconds to complete)
-moved some data off stack declarations to dynamic allocations for better memory handling and reduced errors for portable environments.
-white space doesn't matter before and after lines

Downloads, Source, Documentation, and Example Programs:
can all be found at: https://github.com/BassAceGold/BAGASM