On 03/02/2016 07:37 AM, Chris Elmquist wrote:
On Tuesday, March 1, 2016 at 3:11:46 PM UTC-6, John Garza wrote:
On 02/29/2016 08:39 AM, Chris Elmquist wrote:
On Sunday, February 28, 2016 at 1:24:07 PM UTC-6, Geo wrote:
On Sat, 27 Feb 2016 10:09:16 -0600, John Garza <[email protected]> wrote: >>>>
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
Well, tried that and no go.
Setting P - which I thought would immediately set the program counter
causing the machine to start executing at the specified address, does
not work that way. Once I set P, the monitor is still running and I can
view it and see my new address in it - but it is obviously running the
monitor, not my program. I also tried 'G' - hoping maybe it was an
interrupt issue - but that hangs the system.
In the off chance that 'G' really works and I have a bug in the few
bytes needed to say 'hello world' - I'm posting my test code for
inspection...
-J
*----------------------------------------------------------
* 6809 Hello World
*
* test program for SWTPC 6809 machine
*
*----------------------------------------------------------
*----------------------------------------------------------
* 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 *----------------------------------------------------------
org $0100
*--------------------------------------
* Sample routine to print a string
*--------------------------------------
sayhi ldx #text
jsr PSTRNG
jmp MONITOR
text fcc /Hello World!/
fcb $04
*---------------------------------
* end
*---------------------------------
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)