• SWTPC 6809 system

    From John Garza@21:1/5 to All on Sat Feb 27 10:09:16 2016
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Geo@21:1/5 to John Garza on Sun Feb 28 19:24:06 2016
    On Sat, 27 Feb 2016 10:09:16 -0600, John Garza <john@127.0.0.1> 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

    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Chris Elmquist@21:1/5 to Geo on Mon Feb 29 06:39:20 2016
    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 <john@127.0.0.1> 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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Garza@21:1/5 to Chris Elmquist on Tue Mar 1 15:11:42 2016
    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 <john@127.0.0.1> 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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Chris Elmquist@21:1/5 to John Garza on Wed Mar 2 05:37:53 2016
    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 <john@127.0.0.1> 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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Chris Elmquist@21:1/5 to John Garza on Tue Mar 15 12:41:06 2016
    On Saturday, February 27, 2016 at 10:09:24 AM UTC-6, John Garza 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.

    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Geo@21:1/5 to John Garza on Wed Mar 16 08:16:46 2016
    On Tue, 01 Mar 2016 15:11:42 -0600, John Garza <john@127.0.0.1> wrote:



    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Garza@21:1/5 to All on Wed Mar 16 08:32:31 2016
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dennis Boone@21:1/5 to All on Wed Mar 16 10:00:45 2016
    *----------------------------------------------------------
    * 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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Garza@21:1/5 to Chris Elmquist on Sun Mar 13 21:13:31 2016
    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 <john@127.0.0.1> 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)
  • From John Crane@21:1/5 to All on Thu Feb 6 18:25:38 2020
    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)