View unanswered posts | View active topics It is currently Wed Oct 23, 2019 11:07 pm



Reply to topic  [ 4 posts ] 
 VTL-2 interpreter for the SWTP 6800 
Author Message

Joined: Tue Dec 31, 2013 2:01 am
Posts: 100
Location: Sacramento, CA, United States
Hi all. Last summer, I uploaded my 6502 translation of Frank McCoy and Gary Shannon's economical little interpreter here. For reasons I can't quite decipher, it seemed to interest the German members more than the others :ugeek: The user's guide can be found here. What I didn't mention in the other thread is that I had to type in and modify the original Altair 6800 code (which Frank kindly provided) to work in the SWTPCemu emulator. While adapting it, I found a few spots to size-optimize, resulting in a 'full-featured' programming 'environment' in 733 ROMable bytes. Here it is ... enjoy!

[For reasons unknown to me, I am not able to upload ascii files as attachments. Here is the raw copy-and-paste of the machine code, suitable for the SWTPCemu monitor.]
Code:
e7D00 CE 01 08 DF 4C CE 7D 00 DF 54 8E 01 07 4F CE 7F
e7D10 D7 8D 42 4F 97 46 97 47 BD 7F 7B 24 3B 8D 29 DE
e7D20 46 27 E7 8D 63 27 E3 EE 00 DF 46 DE 3E 08 08 08
e7D30 8D 16 DE 46 27 0E DE 3E BD 7D C0 27 07 EE 00 08
e7D40 DF 42 24 DF 8D 4F 20 DD DF 6E BD 7E E1 08 A6 00
e7D50 81 22 26 45 08 7E 7E 72 DF 70 97 46 D7 47 DE 46
e7D60 26 69 CE 01 08 9C 4C 27 BC DF 3E 8D 53 8D 77 DE
e7D70 3E 08 08 4F BD 7E 53 BD 7F A2 20 E9 DE 3E 08 08
e7D80 6D 00 26 FB 08 86 FF 39 CE 01 08 DF 3E 9C 4C 27
e7D90 39 8D 2D 24 F0 8D E5 20 F2 BD 7E 7D 37 36 DE 6E
e7DA0 BD 7E E9 32 C1 24 26 04 33 7E 7F D0 C0 3F 27 35
e7DB0 5C 33 27 F9 A7 00 E7 01 DB 4E 99 4F 97 4E D7 4F
e7DC0 A6 00 E6 01 91 46 26 02 D1 47 39 8D BB 27 42 EE
e7DD0 00 9C 46 26 3C 8D A5 9E 3E 9C 4C 27 32 A6 00 36
e7DE0 08 31 31 20 F4 33 DE 4A DF 68 CE 7F DB D7 6A 5F
e7DF0 37 D6 6A BD 7F 2D D7 6A D6 4B CA 30 37 36 9A 6A
e7E00 32 26 EE 33 8D A3 33 5D 26 FA DE 68 DF 4A 39 9F
e7E10 4C DE 70 C6 03 6D 00 27 31 5C 08 6D 00 26 FA 4F
e7E20 DB 4D 99 4C 97 38 D7 39 D0 55 92 54 24 3A DE 4C
e7E30 9E 38 9F 4C 08 09 E6 00 37 9C 3E 26 F8 9E 46 AF
e7E40 00 9E 70 34 08 33 E7 01 26 FA 8E 01 07 7E 7D 13
e7E50 BD 7F D0 97 6B E6 00 08 D1 6B 26 F4 F6 80 04 54
e7E60 24 0F 8D 07 C1 03 26 03 7E 7D 0A 36 BD E1 AC 16
e7E70 32 39 8D DF A6 00 81 3B 27 55 7E 7F A2 8D 3E 36
e7E80 A6 00 27 02 81 29 32 27 46 8D 04 DE 60 20 F0 36
e7E90 37 A6 00 36 08 8D 26 97 66 D7 67 DF 60 CE 00 66
e7EA0 32 33 81 2A 26 6E 32 8D 60 74 00 64 76 00 65 24
e7EB0 02 8D 66 68 01 69 00 7A 00 62 26 ED 39 BD 7F 7D
e7EC0 24 0E C1 3F 26 0B DF 72 BD 7F B4 8D B0 DE 72 08
e7ED0 39 C1 24 26 05 8D 94 4F 08 39 C1 28 26 03 08 20
e7EE0 9C 8D 06 BD 7D C0 DE 6C 39 E6 00 08 37 C1 3A 26
e7EF0 0A 8D 8A 58 49 DB 4D 99 4C 20 04 4F C4 3F 58 DF
e7F00 6C 97 68 D7 69 DE 68 33 39 97 64 D7 65 C6 10 D7
e7F10 62 4F 5F 39 81 2B 26 06 32 EB 01 A9 00 39 81 2D
e7F20 26 06 32 E0 01 A2 00 39 81 2F 26 24 32 8D DA 78
e7F30 00 65 79 00 64 59 49 8D EA 24 04 8D DC 20 03 7C
e7F40 00 65 7A 00 62 26 E8 97 4A D7 4B 96 64 D6 65 39
e7F50 80 3D 26 0C 32 8D CC 26 03 5D 27 11 C6 FF 20 0D
e7F60 4A 32 27 07 8D BD 59 4F C4 01 39 8D F7 53 20 F7
e7F70 E6 00 C1 30 25 04 CB C6 C0 C6 39 8D 37 8D F1 25
e7F80 F9 4F 5F 97 62 D7 63 58 49 58 49 DB 63 99 62 58
e7F90 49 EB 00 89 00 C0 30 82 00 08 37 8D D3 33 24 E3
e7FA0 0C 39 C6 0D 8D 2A 20 26 C1 40 27 06 08 8C 00 4A
e7FB0 26 08 8D EE CE 00 02 09 27 F8 BD 7E 6B E7 7F C1
e7FC0 5F 27 F4 C1 0D 2B F3 26 DF 6F 7F CE 00 80 C6 0A
e7FD0 36 17 BD E1 D1 32 39 0D 0A 4F 4B 00 0A
j7D00


Anyone interested in trying it out can ask for help here, but it is, for the most part, self-explanatory.
My free source code is available on request.

Mike


Sat Jan 18, 2014 7:41 am
Profile

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 1284
Quote:
Frank McCoy and Gary Shannon wrote an economical interpreter for the 6800 and 8080 called VTL-2, and it gives the user good bang-for-the-buck, by providing a 16-bit unsigned integer interpreter environment, with immediate- and deferred-mode execution, program editing and listing, simple array and random number generator, etc. On the 6800, it does all of this in 768 ROMable bytes! I thought that it was kind of neat, and e-mailed Frank ...

It might be possible, and amusing, to cook up a URL to run this program on the visual6800 - we need a URL like
http://visual6502.org/JSSim/expert-6800 ... 08DF4CCE7D
but with much more data loaded, and with the I/O patched to suit the simulated environment.

(Edit: oops, I see that the visual6800 doesn't have any I/O hooked up!)

Or, maybe, there are in-browser simulations of 6800-based machines with a more convenient interface?


Sat Apr 25, 2015 8:36 am
Profile

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 1284
The visual 6800 now has an I/O device at 8000 with a status port at 8004. Not exactly fully tested yet.
Looks like a SWTPC test program would need to include stubs at the getc and putc addresses:
Code:
; mikbug-specific equates
piad    =    $8004     
ineee   =    $e1ac     
outeee  =    $e1d1     

Those stubs would be something like
Code:
ineee:
b6 80 00  lda 8000
39        rts

which is the URL fragment &a=e1ac&d=b6800039

Code:
outeee:
b7 80 00  sta 8000
39        rts

which is the URL fragment &a=e1d1&d=b7800039


Mon Apr 27, 2015 11:37 am
Profile

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 1284
Just maybe this will run the VTL-2 on the visual 6800. It might take a lot of memory so save your work...
http://goo.gl/xmsSIH


Mon Apr 27, 2015 1:48 pm
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 4 posts ] 

Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software