SBC6809 - new firmware1 - monitor ASSIST09 + Basic. Part-4.

By Administrator at apríla 21, 2021 10:58
Filed Under: SBC8085-NCB85

Pri prechádzaní webom (až po postavení SBC6809) sam našiel stránky ktorých autorom je Jeff Tranter. Previedol zaujímavú vec, dostal do Eprom aj machine language monitor pre procesor 6809. Mimo iného tiež upravil pôvodný firmware od Searl Granta tak, že teraz funguje aj v jeho pôvodnej iba 6-čipovej verzii, teda netreba zapojiť hardvérový handshaking. Samozrejme, toto má za následok podstatné zníženie prenosovej rýchlosti - ako vždy je niečo za niečo. Jeff urobil túto úpravu, pretože vysoká prenosová rýchlosť bez použitia čipu 74LS04 (teda používa sa iba jeho 1/6) spôsobuje že už prichádza k strate údajov pri prenose.

 

SBC6809 v 6-čipovej verzii (zapojenie od Searl Granta)

(posledný čip je vlastný prevodník)

obrázok prevzatý z:  jefftranter.blogspot.com

 

V uvedenom odkaze je tak isto upravená ROM Searl Granta tak, že netreba použiť hardvérový handshaking. Tiež je tam verzia ROM, ktorá obsahuje monitor ASSIST09 spolu s jazykom BASIC. Jeff umelo spomalil prenosy t.j. síce stále komunikujeme na 115.200Bd, ale spomalenie je hodne veľké - ale neprichádza k výpadkom pri prenose. Toto ale platí len vtedy ak nepoužívame handshaking, ak máme handshaking funkčný tak vtedy je už spomalenie zbytočné, pri 7 čipovej verzii je teda toto spomalenie prenosu neopodstatnené.


Zdôrazňujem že mnou popisovaná verzia SBC6809 týmto nedostatkom netrpí (máme tu hardvérový handshaking) a preto som hneď od začiatku chcel dosiahnuť rovnakú prenosovú rýchlosť a teda nezvoliť umelé spomalenie prenosovej rýchlosti. (K tomu sa tiež dostanem.)

 

Aby tento firmware správne pracoval tak treba nastaviť v Hypertermináli nasledovné:

rýchlosť zostáva 115.200Bd, 8 bit, no parity, no handshaking

 

Štandartne pri hardvérovom handshakingu je

v obidvoch prípadoch nastavená hodnota = 0.


Takto vyzerá štart SBC6809 pri použití posledne menovanej ROM, skáče priamo do monitoru, príkazom G (Go) na adresu C000 spustíme BASIC:

 

ASSIST09
>G C000
6809 EXTENDED BASIC
(C) 1982 BY MICROSOFT

 
Jeff túto ROM urobil parádne, obsahy ROM sú priamo v jeho odkaze na githube, takže ich tu nebudem uvádzať, kto ich potrebuje tak ich tam aj nájde. Mne "odkojenému" rýchlosťou 115.200Bd bol ale takto umele spomalený prenos vcelku veľkou prekážkou, tobôž ak potrebnú hardvérovú úpravu mám na svojom SBC6809 už prevedenú. Tak som si následne upravil Jeffovu verziu a teda mám tam to opatchované na plnú rýchlosť a teda obsahy do ROM a všetko k tomu bude v budúcom samostatnom článku.

Na túto úpravu sa podrobnejšie pozrieme v ďalšej časti, budú tam aj obsahy PROM priamo na napálenie.

 

link na stránky Jeffa Trantera:

Jeff Tranter SBC6809

____________________________________________________________


This is a variant of firmware that combines both Microsoft BASIC and the ASSIST09 monitor into one ROM. It also includes my disassembler which adds a new monitor U command and trace function which adds a new monitor T command.

It comes up in ASSIST09. You can start BASIC by running "G C000".

Memory map (16K EPROM):

BASIC $C000 - $E3FF (9K) DISASSEMBLER $E400 - $EFFF (3K) TRACE $F000 - $F8FF (2K) ASSIST09 $F800 - $FFFF (2K)

RAM usage:

BASIC $0000 - $0178 DISASSEMBLER $6FD0 - $6FDC TRACE $6FE0 - $6FFC ASSIST09 $7000 - $7051


Motorola ASSIST09  - machine language monitor.

 

ASSIST09 Command List:

B (reak)       <cr>     - list break points
                 NNNN    - insert break point
               - NNNN    - delete break point
                     -        - delete all break points

C (all)          <cr>     - call routine at PC as subroutine
                 NNNN    - call routine at NNNN as subroutine

D (isplay) NNNN NNNN  - display range mod16
                         NNNN  - display 16 bytes [NNNN]mod16
                         M        - display 16 bytes [M]mod16
                         P         - display 16 bytes [PC]mod16
                         W        - display 16 bytes [W]mod16
                         @        - following NNNN, M, P, or W displays 16 bytes indirectly

E (ncode)    Encodes a 6809 postbyte based on the addressing mode syntax as follows:

                        R = X, Y, U, or S

                   Direct Addressing Modes
                        ------ ---------- -----

                             ,R        A,R
                           H,R        B,R
                         HH,R        D,R
                     HHHH,R        ,-R
                         HH,PCR    ,--R
                     HHHH,PCR    ,R+
                                         ,R++

            Indirect Addressing Modes
            -------- ---------- -----

              [,R]            [A,R]
                               [B,R]
              [HH,R]       [D,R]
          [HHHH,R]
          [HH,PCR]       [,--R]
          [HHHH,PCR]
          [HHHH]          [,R++]

G (o)           <cr>   - Go to PC
                 NNNN  - Go to NNNN

L (oad)       Load a S1-S9 format data

M (emory)  NNNN - Display memory data at address NNNN
                  <cr>  - Terminate memory function
                     /     - Display current byte with address
                     .     - Display next byte with address
                     ^    - Display previous byte with address
                     ,    - Skip byte
              SPACE  - Display next byte

        The / may be used as an immediate command.

        After any of the display commands the memory contents may be alterred by inputting a valid hex number or
        ascii 'string' enclosed by single quotes (').

O (ffset)  NNNN NNNN   - Calculate the two and/or three byte offset

P (unch)  NNNN NNNN   - Punch a S1-S9 format data

R (egister)    Display 6809 registers and allow changes

        <cr>      - terminate command
        SPACE  - terminate value input or skip to next register
            ,        - terminate value input or skip to next register

V (erify)    Verify memory against S1-S9 format data

W (indow)  NNNN  - Define a display window for the D and M commands.

Ctrl-X will abort any command.


(Zoznam príkazov monitoru je prevzatý zo stránok Jeffa Trantera.)

 

Upozornenie:

Zásahy do zariadenia sú na vlastné riziko majiteľa zariadenia. Autor týchto stránok nenesie žiadnu

zodpovednosť za škody spôsobené používaním zariadení postavených podľa tu uverejnených

schém alebo zobrazených úprav.

 

____________________________________________________________________

Vaše hodnotenie, Rate post:

Comments

21. 4. 2021 11:02:33 #

trackback

Directory SBC.

Directory SBC.

Igi blog |

Info o autorovi

Volám sa Igor Gramblička, bydlisko: Bratislava, Slovakia. Môj nick: Igi. Blog je o mojich záujmoch, predtým som pracoval ako IT špecialista na počítačové siete a redakčné systémy pre viaceré denníky - až som pred rokmi nakoniec v jednom z nich zakotvil a kde som to potiahol až do konca mojej profesnej kariéry.

Rok, mesiac, počet článkov: