Atom is a programmable, register-based virtual machine for Win32 computers. The AtomVM can be programmed using a high-level, neo-assembler language called Atom Assembler.
Be the first to post a text review of Atom Virtual Machine. Rate and review a project by clicking thumbs up or thumbs down in the right column.
Well, Atom has been dormant for a while as personal issues have intruded into my project time, but I am trying to get back into the swing of things. Looking at the code, I decided that I needed to move away from Delphi and to an open development language, and have decided to use FreeBasic. FreeBasic is open source, cross-platform and just an excellent basic programming language all around. You can find FreeBasic right here on SourceForge and it is worth a look. Rather than just porting the Delphi code though, I am going to rebuild Atom from the ground up. This will enable me to fix some of the hack-up code I have in the system and allow me some flexibility in adding some GUI stuff later down the line. This will be a completely new product, so I am not trying to maintain compatibility with the Delphi version of Atom which is of course, still available here.
Due to some personal issues, I will be going offline for a bit. I will continue working on Atom while I am offline, so the project isn't dead. I am still working on BAX, and I am also looking at a Windows version of Atom. Hopefully, when I get back online, I will have some new stuff to post.
1.5.1: 10/402004 1) Converted help system over to SmalHelp. SmalHelp is Copywrite 2004, by Walt Decker <uolang2@abante.lunarpages.com> 10/2/2004 1) Added stacktop: opcode to return current top of stack. 2) Added stackpeek: opcode to peek a value from stack. 3) Added stacktop: opcode to poke a value on the stack. 4) Fixed bug in dupestr:. 10/1/2004 1) Added getbyte: and putbyte opcodes to get and put a specified number of bytes from/to a file. 2) Added filedatetime: to return a file's date and timestamp. 3) Added defile: opcode to delete a file. 4) Added renfile: opcode to rename a file. 5) Added mkdir:, rmdir: to make and delete a directory. 6) Added chdir to change the current directory. 9/30/2004 1) Added schar: opocde to get character at row, col of screen. 2) Added sfore: opcode to get foreground color at row, col of screen. 3) Added sback: opcode to get background color at row, col of screen. 4) Added lset:, rset: opocdes to left and right justify a string. 9/29/2004 1) Fixed bug in check for duplicate alias names. 2) Fixed bug in setsymbol:, getsymbol: to accept alias names. 3) Added schar: opcode to return a character from screen. 9/27/2004 1) Trapped for bad alias name. 2) Fixed problem with extended keys on keypress. 3) Added trace: opcode to enable program tracing. 4) Added xtndpressed: opcode to detect when an extended key is pressed. 9/17/2004: 1) Updated some errors in help file. 2) Changed filename delimiter in findfiles: to | (vertical bar). 3) Fixed a register bug in wraptext:. 4) Changed tloadreg: to load in the raw data from a text file, rather than delimiting records by CRLF.
Not much is happening with Atom at the moment while I work on a Basic/C to Atom Assembler translator, called BAX. So far I have the following code working: 'This is a test file for the bax translator' 'This comment spans two lines' dim %a = 4 dim %b = 5 dim %c = 10 dim %d, %e, %f, %g dim %h, %i, %str = "This is a string" 'assignments' %d = 52 %e = 24 'assigments with math' %f = 12 + 34.5 * (6 / 4) 'assignments with math and vars' %g = %d+%e*(5+%a) %h = "This is a string value." %i = %h print ("a: "; %a, "b:"; %b, "c: "; %c, "d: "; %d, "e: "; %e, "f: "; %f, "g: "; %g, "h: "; %h, "i: "; %i, "A string") gosub label1 goto label2 print("You won't see this.") :label2 print("This is the end.") end :label1 print("In label1") return As you can see, it has a Basic/C flavor to the syntax. I am currently trying to get Boolean expressions working so I can implement control structures. Once the control structures are in place, I will add in the necessary AA commands.
1.5: 8/30/2004: 1) Cleaned up documentation, some minor bug fixes. 5/2/2004: 2) Added contitle: opcode to allow changing console title. 5/9/2004: 3) Added cmenu:, cmenucolor:, cmenuitem:, cshowmenu: opcodes to create a dos-style centered menu widget. 5/12/2004: 4) Added tedit:, focustedit:, opcodes to create an edit field widget. 5/13/2004: 5) Added tpctbar:, showtpctbar:, opcodes to create a percentage progress bar widget. 6) Added tcheck:, focustcheck:, opcodes to create a checkbox widget. 5/14/2004: 7) Added tbutton:, showtbutton:, focustbutton: opcodes to create a button widget.
Be the first person to add a text review.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?