6800 Basic or monitor

Let's talk about anything related to the 6502 microprocessor.
Atlantis
Posts: 122
Joined: 19 Jun 2018

Re: 6800 Basic or monitor

Post 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.
User avatar
cjs
Posts: 759
Joined: 01 Dec 2018
Location: Tokyo, Japan
Contact:

Re: 6800 Basic or monitor

Post 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.
Curt J. Sampson - github.com/0cjs
Atlantis
Posts: 122
Joined: 19 Jun 2018

Re: 6800 Basic or monitor

Post 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". :)
Attachments
6800.jpg
User avatar
BigEd
Posts: 11463
Joined: 11 Dec 2008
Location: England
Contact:

Re: 6800 Basic or monitor

Post by BigEd »

That's a milestone - well done!
Post Reply