mirror of
https://github.com/Klaus2m5/VTL02.git
synced 2025-02-19 08:31:26 +00:00
VTL02C
update to VTL02C
This commit is contained in:
parent
e544e9bb83
commit
251944d43a
52
readme.txt
52
readme.txt
@ -1,28 +1,30 @@
|
||||
-----------------------------------------------------
|
||||
VTL-2 for the 6502 (VTL02B)
|
||||
VTL-2 for the 6502 (VTL02C)
|
||||
Original Altair 680b version by
|
||||
Frank McCoy and Gary Shannon 1977
|
||||
2012: Adapted to the 6502 by Michael T. Barry
|
||||
see source code for copyright notice
|
||||
Thanks to sbprojects.com for a very nice assembler!
|
||||
-----------------------------------------------------
|
||||
2015: Revision B, with several space optimizations
|
||||
(suggested by dclxvi) and enhancements (suggested
|
||||
by mkl0815 and Klaus2m5).
|
||||
|
||||
The basic concepts of VTL-2 (Very Tiny Language):
|
||||
http://www.altair680kit.com/manuals/Altair_680-VTL-2%20Manual-05-Beta_1-Searchable.pdf
|
||||
|
||||
The files:
|
||||
VTL02B for the apple II & the sbprojects.com assembler:
|
||||
vtl02ba2.asm
|
||||
VTL02B for the Kowalski 6502 simulator:
|
||||
http://www.exifpro.com/downloads/6502_1.2.12.zip:
|
||||
vtl02ba2.65s
|
||||
VTL02B for my emulator & the Kingswood AS65 assembler:
|
||||
vtl02ba2.a65
|
||||
Original source code from Mike:
|
||||
VTL02C for the apple II & the sbprojects.com assembler
|
||||
vtl02ca2.asm
|
||||
Modified versions (Syntax, I/O & user RAM size):
|
||||
VTL02C for the Kowalski 6502 simulator
|
||||
http://www.exifpro.com/downloads/6502_1.2.12.zip
|
||||
vtl02ca2.65s
|
||||
VTL02C for my emulator & the Kingswood AS65 assembler
|
||||
vtl02ca2.a65
|
||||
|
||||
New features in Revision B:
|
||||
2015: Revision B included some space optimizations
|
||||
(suggested by dclxvi) and enhancements
|
||||
(suggested by mkl0815 and Klaus2m5):
|
||||
|
||||
* Bit-wise operators & | ^ (and, or, xor)
|
||||
Example: A=$|128) Get a char and set hi-bit
|
||||
|
||||
@ -31,13 +33,13 @@
|
||||
Example: <=P) Point to the I/O port at P
|
||||
@=@&254^128) Clear low-bit & flip hi-bit
|
||||
|
||||
* The space character is no longer a valid user
|
||||
variable nor a "valid" binary operator. It is
|
||||
now only significant as a numeric constant
|
||||
terminator, and as a place-holder in strings and
|
||||
program listings, where it may be used to improve
|
||||
human readability, at a slight cost in execution
|
||||
speed and memory consumption.
|
||||
* Starting with VTL02B, the space character is no
|
||||
longer a valid user variable nor a "valid" binary
|
||||
operator. It's now only significant as a numeric
|
||||
constant terminator and as a place-holder in
|
||||
strings and program listings, where it may be
|
||||
used to improve human readability (at a slight
|
||||
cost in execution speed and memory consumption).
|
||||
Example:
|
||||
* (VTL-2)
|
||||
1000 A=1) Init loop index
|
||||
@ -52,3 +54,15 @@
|
||||
1020 ? = "" ) Newline
|
||||
1030 A = A + 1 ) Update index
|
||||
1040 # = A < 10 * 1010 ) Loop until done
|
||||
|
||||
2015: Revision C includes further enhancements
|
||||
(suggested by Klaus2m5):
|
||||
|
||||
* "THEN" and "ELSE" operators [ ]
|
||||
A[B returns 0 if A is 0, otherwise returns B.
|
||||
A]B returns B if A is 0, otherwise returns 0.
|
||||
|
||||
* Some effort was made to balance interpreter code
|
||||
density with interpreter performance, while
|
||||
remaining within the 1KB constraint. Structured
|
||||
programming principles remained at low priority.
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user