VTL-09 (Very Tiny Language for 6809) is a minimal BASIC-inspired programming language. It is based on VTL-2, which was written for the 6800 microprocessor in the MITS 680b computer by Gary Shannon and Frank McCoy in 1977, and only occupied 768 bytes of memory! Several people have ported VTL-2 to the 6502 processor as VTL02. Patrick McMullen and Carl Warren ported it to the 6809 as VTL-09.
Carl Warren's book "The MC6809 Cookbook" describes VTL-09. However, many printings of the book omitted the actual source code listing, which fortunately appeared as Appendix E in the copy I purchased in 1983:
"The MC6809 Cookbook" by carl d. warren First Edition, Fourth printing Copyright (c) 1980 by TAB BOOKS Inc.
Links:
My listing is an exact transcription of Appendix E as found in the book. I entered it exactly as-is, as all capital letters, with all spelling mistakes and other typos, just as found. I don't see how this code could have assembled without errors and actually run as there appear to be lots of typos. Also, the syntax of the assembler source code is different from that used by both 6809 assemblers I use: TSC's ASMB for FLEX, and Microware's ASM for OS-9. Some examples (with line numbers):
000046 ORG 0 000103 DECBUF-1RMB 000115 PRGM $ *PROGRAM STARTS HERE 000119 START LDU #STACK *LOAD THE STACK 000137 LEAX 3 *BUMP PAST LINE # 000163 EVIL CMP B #":" *IF : THEN BRANCH 000197 FIND LDX #$PRGM *FIND LINE# 000220 PUL A 000290 STA 1,X+ 000521 BRA $+2 *SKIP NEXT INSTRUCTION 000593 LF LDA #$0D *LINE-FEED
Comments:
46: need to shift columns to right
103: not sure what was intended
115: probably should be PRGM EQU * for other assemblers?
119: why using U instead of S for stack?
137: probably LEAX 3,X -- maybe was shortcut syntax allowed by their assembler?
163: probably should be #': for other assemblers
197: don't think $PRGM is valid operand
220: should this be PULU A, or PULS A?
290: 6809 has no such addressing mode!! should either be 1,X or ,X+
521: probably should be *+2 for TSC or Microware assembler syntax?
593: maybe should be $0A?
I hope to be able to modify the code into a working program. If anyone is interested in helping with this project, please contact me.
Use the Reload/Refresh button in your web browser (or Ctrl+F5 or Shift+Reload)
to ensure you get the latest version of this page.
Last revised 2022-May-19 12:44 PDT.
Copyright 2022 David C. Wiens.