Page 2 of 2

Re: 6800 Basic or monitor

Posted: Sun Aug 22, 2021 7:14 am
by Atlantis
BillG wrote:
* Microsoft BASIC for the Altair 680
Unfortunately as fr I know there are no sources available. Making it run on my hardware will be tricky and above my skill I am affraid...

Quote:
* Robert Uiterwyk's 4K and 8K BASIC for the SWTPC 6800. I think the MicroBASIC you have is the 4K version. The source code for the 8K version may have been made available as well.
* Technical Systems Consultants (TSC) BASIC and Extended BASIC for FLEX
According to the info printed on screen at startup, In fact I am using TSC Basic. For some reason the place where I found it on line described it as a "MicroBasic".

Quote:
Microsoft may be the best bet for something ROMable.
There is no source code so I can neither relocate it to the EPROM address space nor provide my own I/O routines. I was only able to find assembled S19 files on-line, but they were made for some particular system.

Quote:
6800 code is not position independent. Did you assemble the code ORGed where it is to run or where it resides in ROM? I am surprised it got that far if the latter.
Yes. I assembled it with ORG statement set up for 0x0200. I generated S19 file and loaded it to RAM. Everything worked. Then I took the same file, converted it to intel hex with srec_cat, shifting entire blob of hex data to 0xD000. In the next step I used srec_cat to combine three hex files into one. So I have:
* Smithbug monitor (at address 0xC000)
* Short code for copying Basic interpreter from 0xD000 to 0x0200 (at address 0xC900)
* Basic interpreter (at address 0xD000)

After launching computer I am able to execute jump to 0xC900 and apparently it works, because while dissasembling memory content above 0x0200, I see proper instructions. Copied Basic executed from 0x0200 launches itself (I can see welcome message and prompt) but it is extremely unstable - usually it freezes or gets stuck in reset loop just when I start to type.

Re: 6800 Basic or monitor

Posted: Sun Aug 22, 2021 10:21 am
by cjs
The Altair (Microsoft) BASIC from SWTPC has a load point of $0000 according to the Altair Basic page from Michale Holley's SWTPC collection. (The original page seems to have vanished in early 2020, but archive.org seems to have a fairly complete copy of the late-2019 site.) It uses the Altair 680B monitor ROM for I/O, but is reconfigurable and a patch is supplied to use a different serial port.

All of these files, along with configuration and a Makefile to disassemble the BASIC with f9dasm, are also available in the Retroabandon altair-680-basic repo.

Re: 6800 Basic or monitor

Posted: Mon Aug 30, 2021 8:05 pm
by Atlantis
Ok, I am back here to report that computer is mostly working now. There is TMS9918 CRT controller and AT keyboard, serving as main I/O devices. Programs can be loaded with RS282, from S19 files.
I still wasn't able to move Basic to EPROM unfortunately. But it runs some 1970's text based games, like "Star Trek". :)

Re: 6800 Basic or monitor

Posted: Tue Aug 31, 2021 8:13 am
by BigEd
That's a milestone - well done!