Discussion:
SWTPC 6809 system
(too old to reply)
John Garza
2016-02-27 16:09:16 UTC
Permalink
Anyone familiar with the Southwest Technical Products 6809 based computers?

On mine, it appears the boot ROM is only geared towards booting from a
disk drive - which I don't have. I was wondering if there is a
different boot ROM - like the ones for the older SWTPC 6800 systems that
allowed you to load a program via a Motorola S-record file and run it.

If you know of one, please post it here for all to see.

Thanks,

-John
Geo
2016-02-28 19:24:06 UTC
Permalink
Post by John Garza
Anyone familiar with the Southwest Technical Products 6809 based computers?
On mine, it appears the boot ROM is only geared towards booting from a
disk drive - which I don't have. I was wondering if there is a
different boot ROM - like the ones for the older SWTPC 6800 systems that
allowed you to load a program via a Motorola S-record file and run it.
Have a look around this site:-
http://www.swtpc.com/mholley/MP_09/SBUG_Index.htm

Failing that I would suggest that someone on the Flex user group
should be able to help - lots of old-timers hang out there:-
http://www.flexusergroup.com/flexusergroup/fufusub.htm
There is also an FTP site maintained with disk images etc.
Chris Elmquist
2016-02-29 14:39:20 UTC
Permalink
Post by Geo
Post by John Garza
Anyone familiar with the Southwest Technical Products 6809 based computers?
On mine, it appears the boot ROM is only geared towards booting from a
disk drive - which I don't have. I was wondering if there is a
different boot ROM - like the ones for the older SWTPC 6800 systems that
allowed you to load a program via a Motorola S-record file and run it.
Have a look around this site:-
http://www.swtpc.com/mholley/MP_09/SBUG_Index.htm
That's a good reference as SWTPC's "SBUG-E" monitor does contain both
'L' and 'P' commands to Load and Punch tapes via the console in S-record form just like Motorola's MIKBUG did for the 6800.

Michael has the user manual scanned here,

http://www.swtpc.com/mholley/MP_09/SBUG_UsersGuide.pdf

Chris
John Garza
2016-03-01 21:11:42 UTC
Permalink
Post by Chris Elmquist
Post by Geo
Post by John Garza
Anyone familiar with the Southwest Technical Products 6809 based computers?
On mine, it appears the boot ROM is only geared towards booting from a
disk drive - which I don't have. I was wondering if there is a
different boot ROM - like the ones for the older SWTPC 6800 systems that
allowed you to load a program via a Motorola S-record file and run it.
Have a look around this site:-
http://www.swtpc.com/mholley/MP_09/SBUG_Index.htm
That's a good reference as SWTPC's "SBUG-E" monitor does contain both
'L' and 'P' commands to Load and Punch tapes via the console in S-record form just like Motorola's MIKBUG did for the 6800.
Michael has the user manual scanned here,
http://www.swtpc.com/mholley/MP_09/SBUG_UsersGuide.pdf
Chris
Yes, I have the SBUG-E on my S/09 system and I noticed the 'L' and 'P'
commands. But compared to the SWBUG 6800 Monuitor, it seems to be
missing the 'J' command (Jump to an address and start executing) and the
'G' (Go) command appears to work differently - no mention is made in the
SBUG-E docs about jumping to an address pointed to by a preset location
as in the SWBUG ROM.

So how do you get the machine to actually start running your program?

-John
Chris Elmquist
2016-03-02 13:37:53 UTC
Permalink
Post by John Garza
Post by Chris Elmquist
Post by Geo
Post by John Garza
Anyone familiar with the Southwest Technical Products 6809 based computers?
On mine, it appears the boot ROM is only geared towards booting from a
disk drive - which I don't have. I was wondering if there is a
different boot ROM - like the ones for the older SWTPC 6800 systems that
allowed you to load a program via a Motorola S-record file and run it.
Have a look around this site:-
http://www.swtpc.com/mholley/MP_09/SBUG_Index.htm
That's a good reference as SWTPC's "SBUG-E" monitor does contain both
'L' and 'P' commands to Load and Punch tapes via the console in S-record form just like Motorola's MIKBUG did for the 6800.
Michael has the user manual scanned here,
http://www.swtpc.com/mholley/MP_09/SBUG_UsersGuide.pdf
Chris
Yes, I have the SBUG-E on my S/09 system and I noticed the 'L' and 'P'
commands. But compared to the SWBUG 6800 Monuitor, it seems to be
missing the 'J' command (Jump to an address and start executing) and the
'G' (Go) command appears to work differently - no mention is made in the
SBUG-E docs about jumping to an address pointed to by a preset location
as in the SWBUG ROM.
So how do you get the machine to actually start running your program?
-John
I don't actually have an s-bug machine running right now but looking at the source, my best guess would be that you use CTRL-P to change the PC (program counter) and then "G" to return from breakpoint/SWI.

I agree that the lack of "J" to jump to an address is disappointing.

Chris
John Garza
2016-03-14 02:13:31 UTC
Permalink
This post might be inappropriate. Click to display it.
Dennis Boone
2016-03-16 15:00:45 UTC
Permalink
Post by John Garza
*----------------------------------------------------------
* STANDARD SBUG-E EQUATES
*----------------------------------------------------------
MONITOR EQU $F800 *RETURNS CONTROL TO MONITOR
INCH EQU $F804 *CHAR INPUT
INCHE EQU $F806 *CHAR INPUT AND ECHO
OUTCH EQU $F80A *CHAR OUTPUT
PDATA EQU $F80C *OUTPUT STRING TERMINATED BY $04
PSTRNG EQU $F810 *LIKE PDATA WITH CRLF PREFIX
PCRLF EQU $F80E *OUTPUT CR,LF,NUL,NUL,NUL
*----------------------------------------------------------
Any chance the monitor you have doesn't place these things in the
standard locations?

De
Geo
2016-03-16 08:16:46 UTC
Permalink
Post by John Garza
So how do you get the machine to actually start running your program?
From memory ( and a sneaky refresh cycle here):-
http://xilinx.pe.kr/_hdl/2/_ip/jekent/system09/index.html

Set the program counter to $1000 (<ctrl> P 1000) [or wherever your
program lives]
Execute the program with the "G" key.
Chris Elmquist
2016-03-15 19:41:06 UTC
Permalink
Post by John Garza
Anyone familiar with the Southwest Technical Products 6809 based computers?
On mine, it appears the boot ROM is only geared towards booting from a
disk drive - which I don't have. I was wondering if there is a
different boot ROM - like the ones for the older SWTPC 6800 systems that
allowed you to load a program via a Motorola S-record file and run it.
If you know of one, please post it here for all to see.
Thanks,
-John
At this point I am just guessing as I cannot try on a real SBUG machine. Maybe use the 'B' command to set a breakpoint at the entry to your code and then play with ^P and G (and other schemes) to try to get it to jump to the breakpoint?
Then you will know it is at least going to the beginning of your program.

It is very strange that there is no obvious method to just jump to a specific execution address but reading through the monitor source, I don't see it.

Even with their 'L' (load tape) implementation, they ignore any execution address that might be passed with an S9 record so it would not automatically execute a loaded tape either.

"G" is pretty simple code:

GO TFR U,S
RTI RTI

and ^P (set PC) basically stores the address you enter onto U stack + 10,

STX 10,U POKE IN NEW CONTENTS

When an RTI is executed, the machine state is popped from the stack and
U+10 contains the program counter to which it will return. You need to
make sure the E bit in the CCR is set so that it does a full state restore on RTI and ^C (Alter CC) does this by always setting it,

ORA #$80 SETS "E" FLAG IN PRINT LIST

So, I still think you can set the address you want to jump to with
^P, then do ^C and re-enter the same value for CC (which causes it to set the E bit), and then do "G".

Chris
John Garza
2016-03-16 13:32:31 UTC
Permalink
I'm beginning to think I have hardware issues. Yikes!

Geo's comment on the G command makes sense as the logical way to execute
a program. In fact that's what I first assumed until I read the docs.
Perhaps it was a lack of clarity in the SWTPC documentation - they go on
and on about breakpoints and interrupts and never mention it's used to
replace the J command from the 6800 monitor. Seriously, one sentence is
all that's needed.

Regardless, my 'hello world' program failed (hanged). I tried the url
for the 6809 FPGA site Geo mentioned, downloaded the flex and xbasic S19
files. Xbasic hung like my 'hello world' program. Flex asked me for a
date, but after I entered the date, it hung too. Never saw the '+++'.

Maybe I have a bad memory card. Or maybe there are fixed memory
addresses I don't have (Motorola I/O) - I believe I only have a 32K RAM
card installed in low memory. Maybe Flex and Xbasic are looking for
non-existent hardware and simply die when it's not found. When I get
some time I'll put the box on the bench and post the results here.

Thanks everyone for the comments! You've been really helpful. It will
take a bit more time, but I feel I'm close.



-John
John Crane
2020-02-07 00:25:38 UTC
Permalink
I know it's been a while, but I wanted to post my notes on getting my
6809 to run BASIC after the troubles in 2016...for the sake of closure.

John Garza Nov 2018
Steps to bring up BASIC on my SWTPC S/09 system without drives
(modified from original text far below)

1) Set term program (TeratermPro) to 9600 baud 8N1
2) On reset see ">" prompt
3) Put SBUG in load S1 Load mode by pressing the "L" key
4) Send the F9.s19 file with TeratermPro in text download mode.
5) Set the PC to $CD00 (<ctrl> P CD00)
6) Execute Flex by pressing the "G" key
7) Enter the date and you WILL NOT get a +++ prompt - it will HANG
8) Press RESET switch
9) Put SBUG in load S1 Load mode by pressing the "L" key
10) Send the XBASIC.s19 file with TeratermPro in text download mode.
11) Set the PC to $0000 (<ctrl> P 0000)
12) Execute XBASIC by pressing the "G" key
13) Type in a basic program.

Loading...