           BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:   0                                                        CPU: 6809        2025-10-26 15:11:10                                                                                                        1                           $CPUID (6809)     2                            OPT  PAG     3                            NAM  BERTMON9 5.4     4                            STTL Een 6809 monitor (April 2024)     5                            SETLI 99       ; Linker (afdruk) marge 4 chars     6                            SETPG 78       ; was 72            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:   1           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                        7                            PAG     8                           *** Voorlopige definitieve versie 19-04-2024     9                           *** Dit is de monitor kernel in EPROM $F800-$FFFF.    10                           *** Voor alle versies gelijk en zalig verklaard.    11                           *** Bevat alle noodzakelijke routines (en niets meer).    12                           *   plus    13                           *** Externe monitor in EPROM $F000-$F7FF    14                           *** Beide staan in dit source file    15                           *   plus    16                           *   In andere source files:    17                           *** Dissassembler   - $E000-$E7FF    18                           *** Debugger-Tracer - $E800-$EAFF    19                           *** Help            - $EB00-$EFFF    20                           *   Bij alle drie is (wat) ruimte voor uitbreiding    21                           *** Totaal wordt dan 8k    22                           *   plus    23                           *** Utility - $D000-$DFFF    24                           *** Drivers - $C000-$CFFF    25                           *** Totaal wordt dan 16k in 1 EPROM    26                           *    27                           *** Verschillen  BEM3 en BEM4    28                           *   USRVIA      $BC0x   $BEEx    29                           *   SYSVIA      $BB0x   $BEFx    30                     BB00  VIABASE3  EQU   $BB00   ; Start I-O GEBIED BEM3    31                     BE00  VIABASE4  EQU   $BE00   ; Start I-O GEBIED BEM4    32                           *    33                           *** SYSVIA is verbonden met NMI voor Debug, Break en Keyboard    34                           *** Keyboard met PA.0:7 en CA1 en CA2    35                           *** PA.7 is ook een drukknop voor dissable Extmon bij opstarten    36                           *    37                           *** Rode LED met CB2, Breaktoets met CB1    38                           *** CB2 is ook uitgang schuifregister (geluid en knipperlicht)    39                           *** PB.0:1 2 Switches (User Mode)    40                           *** PB.2:3 2 LED's (geel en blauw)    41                           *** PB.4:6 3b adres pageable RAM (8*4k)    42                           *** PB7 uitgang timer1 (geluid) en groene LED    43                           *    44                           *** Timer1 is Baudrate generator voor ACIA (Tweede terminal)    45                           *** Timer2 zorgt voor Next-statement (debugger)    46            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:   2           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                       47                            PAG    48                           * Chanche log 5.4    49                           * 20251025 1 PDATA toevoegen extra opties    50            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:   3           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                       51                            PAG    52                           $SET TYPE N    53                     7FFF  MEMTOP    EQU   $7FFF   ; Top van het User memory       (RAM)    54                     9000  WSBASE    EQU   $9000   ; Basis adres Working storage   (Monitor >    55    56                     F000  EXTMON    EQU   $F000   ; Basis adres Extended Monitor  (EPROM)    57                     F800  BASE      EQU   $F800   ; Basis adres Monitor           (EPROM)    58                           *    59                           * Definitie USART Registers voor BEM3 en BEM4    60                           *    61                     BE00  USART     EQU   $BE00   ; BEM3 en BEM4    62                     BE00  RHREG     EQU   USART   ; Recieve register    63                     BE00  THREG     EQU   USART   ; Send Register    64                     BE01  STTREG    EQU   USART+1 ; Status Register    65                     BE02  MDREG1    EQU   USART+2 ; Mode Register1    66                     BE02  MDREG2    EQU   USART+2 ; Mode Register2    67                     BE03  CMDREG    EQU   USART+3 ; Commando Register    68                           *    69                           *** USART instel tabel    70                           *    71                     004E  MR1       EQU   $4E ; 8bits, NoPar, 1 stopbit 16x clock, Async    72                     007E  MR2       EQU   $7E ; Interne clock (16x,16x) 9600 baud    73                     0015  CMD       EQU   $15 ; Normal operation, RTS high, reset error,    74                           *                   ; no break, enable Rx, DTR high, enable Tx    75                           *    76                           *** Definitie VIA Registers    77                           *    78                     0000  PB        EQU     0    79                     0001  PA        EQU     1    80                     0002  DDRB      EQU     2    81                     0003  DDRA      EQU     3    82                     0004  T1CL      EQU     4    83                     0005  T1CH      EQU     5    84                     0006  T1LL      EQU     6    85                     0007  T1LH      EQU     7    86                     0008  T2CL      EQU     8    87                     0009  T2CH      EQU     9    88                     000A  SHR       EQU    10    89                     000B  ACR       EQU    11    90                     00  PCR       EQU    12    91                     000DA  IFR       EQU    13    92                     000E  IER       EQU    14    93                     000F  PAX       EQU    15            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:   4           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                       94                            PAG    95                           *    96                           *** Algemene Equates    97                           *    98                     0004  EOT       EQU   $04     ; End of text    99                     0008  BS        EQU   $08     ; Backspace   100                     000A  LF        EQU   $0A     ; Linefeed   101                     00  FF        EQU   $     ; Form Feed   102                     000DA  CR        EQU   $0DA     ; Carriage return   103                     0080  HiBit     EQU   $80     ; Highbit voor PRTMSG   104                     008D  CRH       EQU   $8D     ; CR met highbit   105                     0088  BSH       EQU   $88     ; BS met highbit   106                           *   107                     0007  Bell      EQU   $07     ; Bell op terminal   108                     001B  Escape    EQU   $1B   109                     0020  Space     EQU   $20   110                     0022  Dquote    EQU   $22     ; "   111                     0027  Quote     EQU   $27     ; '   112                           *   113                     FFFF  HV        EQU   -1   114                     FFFF  DUMMY     EQU   $FFFF   ; FFFF bevat RTS   115                           *   116                           *** Control block   117                           *   118                     0000  STARTADR  EQU   0   119                     0002  ENDADR    EQU   2   120                     0004  DESTADR   EQU   4            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:   5           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                      121                            PAG   122                           $SET TYPE D   123                           *#MONRAM   124                     9000            ORG   WSBASE   125                     9000            RMB   $0400   ; EPOS, NQBASIC en FORTH Werkvelden   126   127                     9400  TRBUFSTA  RMB   $0400   ; Trace buffer en andere Werkvelden   128                     9800  TRBUFENX  EQU   *   129                           *   130                           *** Diverse buffers   131                           *   132                     9800  EDITBUF   RMB   256   133                     9900  LOADBUF   RMB   64      ; Buffer voor LOAD EEPROM   134                     9940  SYSBUF    RMB   64      ; System buffer   135                     9980            RMB   64   136                     99C0            RMB   64   137                     9A00            RMB   256   138                     9B00            RMB   256   139                           *   140                           *** System RAM   141                           *   142                     9C00            ORG   WSBASE+$00 ; Monitor Werkvelden   143                     9C00  SYSRAM    EQU   *   144                     9C00            RMB   242     ; Stack page   145                     9CF2  STACKTOP  RMB   12      ; Registers bij opstarten   146                     9CFE  STACK     RMB   2       ; Return adres voor Exec   147                           *   148                           *** Werk geheugen voor BERTMON9   149                           *   150                     9D00            ORG   SYSRAM+$100   151                           *   152                           *** Gereserveerd voor I-O Modules   153                           *   154                     9D00            RMB   16 ; I-O Slot 0   155                     9D10            RMB   16 ; I-O Slot 1   156                     9D20            RMB   16 ; I-O Slot 2   157                     9D30            RMB   16 ; I-O Slot 3   158                     9D40            RMB   16 ; I-O Slot 4   159                     9D50            RMB   16 ; I-O Slot 5   160                     9D60            RMB   16 ; I-O Slot 6   161                     9D70            RMB   16 ; I-O Slot 7   162                           *   163                           *** Gereserveerd voor Drivers   164                           *   165                     9D80  GLCDWS    RMB   16 ; GLCD Working Storage   166                     9D90            RMB   16   167                     9DA0            RMB   16   168                     9DB0            RMB   16   169                     9DC0            RMB   16   170                     9DD0            RMB   16   171                     9DE0            RMB   16   172                     9DF0            RMB   16   173                           *   174                           ***  System Direct Page   175                           *         ORG   SYSRAM+$200 ; System Direct Page   176                     9E00  MONRAM    EQU   *   177                     9E              SETDP MONRAM   178                     009E  SYSDP     EQU   HI:MONRAM            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:   6           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                      179                            PAG   180                           *   181                           *** Monitor   182                           *   183                     9F00            ORG   SYSRAM+$0300 ; System Extended en vector Page   184                           *** Default is $00   185                     9F00  BIT_BASE  RMB   8 ; 64 system bits   186                     9F08  CONVERTB  RMB   8 ; BIN2DEC Conversie buffer   187   188                     9F10  SYSSTACK  RMB   2 ; Laatst gebruikte stackpointer   189                     9F12  PTR_RAS   RMB   2 ; Pointer naar return adres SVC   190                     9F14  XTEMP0    RMB   2 ;   191                     9F16  XTEMP1    RMB   2 ;   192                     9F18  PMSEGMNT  RMB   1 ; Segment pageable memory   193                     9F19            RMB   1 ;   194                     9F1A            RMB   1 ;   195                     9F1B            RMB   1 ; Reserve (O.S. Variabelen)   196                     9F1C  BYTE0     RMB   1 ;   197                     9F1D  BYTE1     RMB   1 ;   198                     9F1E  BYTE2     RMB   1 ;   199                     9F1F  BYTE3     RMB   1 ;   200   201                     9F20  CONTRBLK  RMB   2 ; STARTADR   202                     9F22            RMB   2 ; ENDADR   203                     9F24            RMB   2 ; DESTADR, VALUE of RUN adres   204                     9F26            RMB   2 ; Overige variabelen   205                     9F28            RMB   2 ; | Reserve controlblock   206                     9F2A            RMB   2 ; |   207                     9F2C            RMB   2 ; |   208                     9F2E            RMB   2 ; |   209   210                     9F30  CALLBUF   RMB  16 ; CALL buffer voor debugger   211                     9F40            RMB  16 ; Conversie buffer   212   213                     9F50  NMIBPTB   RMB  16 ; Debugger breakpoint tabel   214                     9F60  NMIWORK   RMB  16 ; Debugger work space   215   216                     9F70            RMB   8 ; Reserve   217                     9F78  MCLPTRS   EQU   * ; Init MCL tabel   218                     9F78  VECTPUTM  RMB   2 ; Alternatieve schrijf   219                     9F7A  VECTGETM  RMB   2 ; Alternatieve lees   220                     9F7C  TYPEPARM  RMB   2 ; Parameter bij geheugen fratsen   221                     9F7E            RMB   2 ; extra fratsen MCL   222                     9F80  WPEND     EQU   *   223                     9F7F  WSEND     EQU   *-1   224                           *   225                           *** Systeem variabelem BERTMON9   226                           *   227                     9F80            ORG   SYSRAM+$0380   228                           *** Default $FFFF   229                     9F80            RMB  16 ; 80 Reserve   230                     9F90  PSVCTAB   RMB   2 ; 90 Primaire   SVC tabel   231                     9F92  USVCTAB   RMB   2 ; 92 Secundaire SVC tabel   232                     9F94  PCMDHELP  RMB   2 ; 94 Help voor Punt commando   233                     9F96            RMB   2 ; 96 |   234                     9F98            RMB   2 ; 98 |   235                     9F9A            RMB   2 ; 9A | Reserve   236                     9F9C            RMB   2 ; 9C |   237                     9F9E            RMB   2 ; 9E |   238   239                     9FA0  TESTSX    RMB   2 ; A0 Verwerk alternatieve S-records   240                     9FA2            RMB   2 ; A2 Was Extended 'HELP' vector   241                     9FA4  MEMTYPE   RMB   2 ; A4 Memory type   242                     9FA6  NMIPHDR   RMB   2 ; A6 Print header       (Debugger)   243                     9FA8  NMIPREG   RMB   2 ; A8 Print registers    (Debugger)   244                     9FAA  MONCMD    RMB   2 ; AA Monitor Commando's (Debugger)   245                     9FAC  DISSASM   RMB   2 ; AC Dissassembler      (Debugger)   246                     9FAE  CEDELAY   RMB   2 ; AE Delay na NEWLINE  (Mee lezen)   247   248                     9FB0  QVECTOR   RMB   2 ; B0 Q commando   249                     9FB2  ZVECTOR   RMB   2 ; B2 Z commando   250                     9FB4  XVECTOR   RMB   2 ; B4 X commando   251                     9FB6  VECTRUN   RMB   2 ; B6 Vector voor RUN   252                     9FB8  VTIMESHR  RMB   2 ; B8 Timeshare (tijdens wachten op character)   253                     9FBA  USRCMD    RMB   2 ; BA User    commando tabel   254                     9FBC  EXTCMD    RMB   2 ; BC Externe commando tabel   255                     9FBE  SWIBUG    RMB   2 ; BE Entrypoint Debugger na SWI            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:   7           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                      256                            PAG   257                           *   258                           *** Systeem variabelem BERTMON9   259                           *** Default uit Init tabel   260                           *   261                     9FC0  BERTWORK  EQU   *   262                     9FC0  TRBUFST   RMB   1 ; C0 HI Trace/Verify buffer begin   263                     9FC1  TRBUFEND  RMB   1 ; C1 HI Trace/Verify buffer einde   264                     9FC2  SEGMENT   RMB   1 ; C2 Segment voor pageable memory   265                     9FC3  SYSCNTRL  RMB   1 ; C3 System (Linker marge)   266                     9FC4  DISLINPA  RMB   1 ; C4 Aantal regels dissassembler   267                     9FC5  LINESCRN  RMB   1 ; C5 Aantal regels per scherm   268                     9FC6  DBUGFLGS  RMB   1 ; C6 Debug en SWI vlaggen   269                     9FC7  DISASMFL  RMB   1 ; C7 Dissassembler   270                     9FC8            RMB   1 ; C8 Reserve   271                     9FC9            RMB   1 ; C9 Reserve   272                     9FCA            RMB   1 ; CA Reserve   273                     9FCB            RMB   1 ; CB Reserve   274                     9FCC            RMB   1 ; CC Reserve   275                     9FCD            RMB   1 ; CD Reserve   276                     9FCE            RMB   1 ; CE Reserve   277                     9FCF            RMB   1 ; CF Reserve   278   279                     9FD0  NOTFNDV   RMB   2 ; D0 Voer extern commando uit (EXTMON)   280                     9FD2  CRDELAY   RMB   2 ; D2 Routine na nieuwe regel   281                     9FD4  YVECTOR   RMB   2 ; D4 Y commando   282                     9FD6            RMB   2 ; D6 Reserve   283                     9FD8  DISREGEL  RMB   2 ; D8 Dissassembler 1 regel (Extern)   284                     9FDA  OFFSET    RMB   2 ; DA Offset bij Load   285                     9FDC  USRMEMTP  RMB   2 ; DC Einde User memory ($7FFF)   286                     9FDE  USERNMI   RMB   2 ; DE User NMI Vector   287                           *   288                     9FE0  ESCVECT   RMB   2 ; E0 Escape Vector   289                     9FE2  OUTPC     RMB   2 ; E2 Out PC bij Print registers   290                     9FE4  PUTBLOAD  RMB   2 ; E4 Put Byte bij Load   291                     9FE6            RMB   2 ; E6 Reserve   292                     9FE8  PDATAEXT  RMB   2 ; E8 PDATA Extentions   293                     9FEA  VCHAROUT  RMB   2 ; EA Output  routine   294                     9FEC  VCHARIN   RMB   2 ; ED Invoer routine   295                     9FEE  VCHARGET  RMB   2 ; EE Get char routine   296                           *   297                           *** System vectoren   298                           *   299                     9FF0  VECTRES   RMB   2 ; F0 6809 Not defined, 6309 Trap   300                     9FF2  VECTSWI3  RMB   2 ; F2 SWI3   301                     9FF4  VECTSWI2  RMB   2 ; F4 SWI2   302                     9FF6  VECTFIRQ  RMB   2 ; F6 FIRQ   303                     9FF8  VECTIRQ   RMB   2 ; F8 IRQ   304                     9FFA  VECTSWI   RMB   2 ; FA SWI   305                     9FFC  VECTNMI   RMB   2 ; FC NMI   306                     9FFE  VECTSVC   RMB   2 ; FE Vector voor $3E (SVC)   307                     9FFF  RAMTOP    EQU   *-1   308                           *#END            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:   8           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                      309                            PAG   310                           *********************************************   311                           *** Dit is het tweede deel van BERTMON9.   312                           *** Bevat de extra commando's die uit BERTMONk verwijderd zijn.   313                           *** Staat in de onderste 2k van het 4k EPROM ($F000-F7FF).   314                           *** EXTINIT wordt aangeroepen na de Reset van BERTMONk.   315                           *** EXTCMDL wordt aangeroepen bij een niet BERTMONk commando.   316                           *** Een gewijzigde versie kan in NVRAM geladen worden.   317                           *********************************************   318                           *   319                           $SET TYPE E   320                     F000            ORG   EXTMON   321 F000   BD FE44            EXTINIT   JSR   PRTMSG   322 F003   0DA 07                        FCB   CR,Bell   323 F005   45 78 74 65 72 6E            FCCH  'Externe Monitor'   324 F00B   65 20 4D 6F 6E 69   325 F011   74 6F F2   326                           *   327                           ***   Bepaal BEM3 of BEM4   328                           *   329 F014   8E F067                      LDX   #TXTBEM3   ; Default BEM3   330 F017   BD FF19                      JSR   GETADSYS   ; Basisadres SYSVIA in Y   331 F01A   26 03        F01F            BNE   EX10       ; NE = BEM3   332 F01C   8E F06B                      LDX   #TXTBEM4   ; EQ = BEM4   333 F01F   BD FE1D            EX10      JSR   NLPDATA    ; Y is adres SYSVIA   334                           *   335                           ***   Bepaal 6809 of 6309 en pas dissassembler aan   336                           *   337 F022   8E F073                      LDX   #TXT63     ; Default 6309   338 F025   B6 9FC7                      LDA   DISASMFL   339 F028   84 3F                        ANDA  #%00111111 ; bit6:7 = 00   340   341 F02A   BD F3DA                      JSR   TEST6309   ; Kijk of 6809   342 F02D   26 05        F034            BNE   EX20       ; NE = 6309   343                                                      ; EQ = 6809   344   345 F02F   8E F06F                      LDX   #TXT68     ; 6809   346 F032   8A 80                        ORA   #$80       ; bit6:7 = 10   347   348 F034   B7 9FC7            EX20      STA   DISASMFL   349 F037   BD FE1D                      JSR   NLPDATA   350                           *   351                           *** Init SYSVIA   352                           *** SYSVIA is $BC00 (BEM3) of $BFF0 (BEM4)   353                           *** Het correcte adres wordt bepaald door GETADSYS   354                           *** Init System VIA I-O Poorten, Y is adres SYSVIA   355                           *** SYSVIA.PCR is al door de Kernel geinit   356                           *   357 F03A   86 3F                        LDA   #%00111111 ; PA6.7 input, PA0.5 output   358 F03C   A7 23                        STA   DDRA,Y   359 F03E   86 FC                        LDA   #%11111100 ; PB.2:7 output   360 F040   A7 22                        STA   DDRB,Y     ; PB.0:1  input   361   362 F042   86 83                        LDA   #%10000011 ; Groen aan en   363 F044   A7 20                        STA   PB,Y       ; rest uit   364 F046   BD FF29                      JSR   DELKO      ; Groen minimaal 750 mS aan   365   366 F049   CC F3EC                      LDD   #PRTSWI    ; Print registers bij SWI   367 F04C   FD 9FFA                      STD   VECTSWI    ; naar SWI vector   368   369 F04F   CC F41E                      LDD   #NMIREGS   ; Debugger Print registers   370 F052   FD 9FA8                      STD   NMIPREG   371 F055   CC F34B                      LDD   #PH10      ; Debugger Print header   372 F058   FD 9FA6                      STD   NMIPHDR   373   374 F05B   CC F077                      LDD   #EXTCMDH   ; Externe Monitor command routine   375 F05E   FD 9FD0                      STD   NOTFNDV    ; naar 'not found' vector   376 F061   BD F0A0                      JSR   INITCMD    ; Init 'command chain'   377   378 F064   6F 20                        CLR   PB,Y       ; Groen en rest uit   379 F066   39                 EXIT      RTS   380   381 F067   42 45 4D B3        TXTBEM3   FCCH  'BEM3'   382 F06B   42 45 4D B4        TXTBEM4   FCCH  'BEM4'   383 F06F   36 38 30 B9        TXT68     FCCH  '6809'   384 F073   36 33 30 B9        TXT63     FCCH  '6309'            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:   9           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                      385                            PAG   386                           *   387                           *** Externe monitor command loop   388                           *   389 F077   8E F0E1            EXTCMDH   LDX   #EXMONCMD ; Extended Monitor tabel   390 F07A   BD FF97                      JSR   CMDHDL   391 F07D   24 E7        F066            BCC   EXIT      ; Commando verwerkt, Terug naar Kernel   392                                                     ; Niet gevonden, Zoek in command chain   393 F07F   BE 9FBC                      LDX   EXTCMD    ; Extended tabel   394 F082   BD FF97                      JSR   CMDHDL   395 F085   24 DF        F066            BCC   EXIT      ; Commando verwerkt   396                                                     ; of zoek in 'command chain'   397   398                           * *******************************************************   399                           * * Indien het commando niet gevonden is, wordt gekeken *   400                           * * of er commando's zijn in andere geheugen blokken    *   401                           * * door te kijken of op het begin van page (256 byte)  *   402                           * * een z.g. EXTCMD signature staat                     *   403                           * * Deze ziet er als volgt uit:                         *   404                           * *        ORG   $xx00   ;                              *   405                           * *        FCC   'RH'    ; Signature                    *   406                           * *        BRA   INIT    ; Init van deze page           *   407                           * *        FCB   'A'    ;|                              *   408                           * *        FDB    CMD-A ;|                              *   409                           * *        FCB   'B'    ;| Commando's (mogen ontbreken) *   410                           * *        FDB    CMD-B ;| Bij commando behorende       *   411                           * *        FCB   'C'    ;|                              *   412                           * *        FDB    CMD-C ;| (sub)routines                *   413                           * *        FCB    $FF    ;  End of table (verplicht)    *   414                           * *                                                     *   415                           * * INIT   RTS           ; Indien er geen INIT is       *   416                           * *                      ; dan een lege routine         *   417                           * *******************************************************   418   419 F087   8E 8000            NOTFND    LDX   #$8000   ; Begin System RAM   420 F08A   8D 26        F0B2  NF10      BSR   SEARCH   ; Commando staat in A   421 F08C   26 0F        F09D            BNE   NF80     ; Geen command Pages meer   422 F08E   30 02                        LEAX  2,X      ; Skip BRA INIT   423 F090   34 7E                        PSHS  U,X,Y,A,B,DP   424 F092   BD FF97                      JSR   CMDHDL   ; Voer commando uit   425 F095   35 7E                        PULS  U,X,Y,A,B,DP   426 F097   24 3C        F0DA5            BCC   NS99     ; Klaar, Commando gevonden   427 F099   8D 2F        FA            BSR   NEXTSEG  ; Volgende page   428 F09B   20 ED        F08A            BRA   NF10   429                                                    ; Commando niet gevonden   430 F09D   7E FDC9            NF80      JMP   OUTSPQ   ; Foutmelding            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  10           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                      431                            PAG   432                           * *******************************************************   433                           * * Zoek op het begin van elk page de EXTCMD signature  *   434                           * * en voer de bijbehorende INIT uit                    *   435                           * *******************************************************   436 F0A0   8E 8000            INITCMD   LDX   #$8000   ; Begin System RAM ;$ Start op $0000   437   438 F0A3   8D 0DA        F0B2  IC10      BSR   SEARCH   439 F0A5   26 0A        F0B1            BNE   IC20     ; Niet (meer) gevonden   440 F0A7   34 7F                        PSHS  #$7F     ; Stack alle registers   441 F0A9   AD 84                        JSR   ,X       ; Voer INIT routine uit   442 F0AB   35 7F                        PULS  #$7F     ; Restore alle registers   443   444 F0AD   8D 1B        FA            BSR   NEXTSEG  ; Volgend segment   445 F0AF   26 F2        F0A3            BNE   IC10     ; en zoek verder   446 F0B1   39                 IC20      RTS            ; klaar   447   448                           * ********************************************************   449                           * * Kijk of op het begin van page EXTCMD signature staat *   450                           * * Z=1 BEQ Gevonden X=Page adres: pp02                  *   451                           * * Z=0 BNE Niet gevonden                                *   452                           * ********************************************************   453 F0B2   34 06              SEARCH    PSHS  D   454 F0B4   EC 81              S10       LDD   ,X++     ; Zoek signature 'RH'   455 F0B6 1083 5248                      CMPD  #$5248   456 F0BA   26 06        F2            BNE   S20   457 F0BC   A6 84                        LDA   ,X       ; Gevolgd door BRA   458 F0BE   81 20                        CMPA  #$20     ; op page boundery   459 F0   27 06        F8            BEQ   S99   460 F2   8D 06        FA  S20       BSR   NEXTSEG     ; Niet gevonden, Volgend page   461 F4   26 EE        F0B4            BNE   S10         ; Signature op volgende page   462 F6   1C FB                        ANDCC #%11111011  ; Einde, Clear Z bit (Niet gevonden)   463 F8   35 86              S99       PULS  PC,D        ; Gevonden (BEQ)   464   465 FA   34 10              NEXTSEG   PSHS  X   466 FC   6C 60                        INC   0,S      ; Xh Volgende page   467 FE   6F 61                        CLR   1,S      ; Clear Xl   468 F0DA0   35 10                        PULS  X        ; X: xx00   469 F0DA2   8C F000                      CMPX  #$F000   ; Maximum bereikt   470                                                    ; BNE Er is nog hoop   471 F0DA5   39                 NS99      RTS            ; BEQ Einde   472                           *   473                           * *******************************************************   474                           * * Print P@xx op een nieuwe regel                      *   475                           * * Wordt gebruikt voor 'Logon' boodschappen            *   476                           * *******************************************************   477                           *   478 F0DA6   BD FE44            PRTPAGE   JSR   PRTMSG   479 F0DA9   0DA                           FCB   CR   480 F0DAA   50                           FCC   'P'     ; 'P@xx' op nieuwe regel   481 F0DAB   C0                           FCB   $40+HiBit   482 F0DAC   1F 10                        TFR   X,D   483 F0DAE   7E FDA8                      JMP   OUT2HAS            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  11           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                      484                            PAG   485                     F0E1  EXMONCMD  EQU   *   486 F0E1   53                           FCB   'S'   487 F0E2 F261                           FDB   SAVE     ; Save memory   488 F0E4   4D                           FCB   'M'   489 F0E5 F202                           FDB   MOVECMD  ; Move memory   490 F0E7   4F                           FCB   'O'   491 F0E8 F1A1                           FDB   DUMPALL  ; Maak Memory Map   492 F0EA   41                           FCB   'A'   493 F0EB F166                           FDB   ASCIDUMP ; Dump ASCII   494 F0ED   42                           FCB   'B'   495 F0EE F643                           FDB   DISPBYTE ; Display Byte   496 F0F0   43                           FCB   'C'   497 F0F1 F5F3                           FDB   COMPARE  ; Vergelijk memory met memory   498 F0F3   56                           FCB   'V'   499 F0F4 F2F5                           FDB   VERIFY   ; Vergelijk S19 file met memory   500 F0F6   0DA                           FCB   CR   501 F0F7 FFFF                           FDB   DUMMY    ; Geen fout bij CR   502 F0F9   49                           FCB   'I'   503 F0FA FFFF                           FDB   DUMMY    ; Init   504 F0FC   2F                           FCB   '/'   505 F0FD FDF5                           FDB   CLRSCRN  ; Wis het scherm   506 F0FF   3F                           FCB   '?'   507 F100 F5EF                           FDB   HELP     ; Print help string   508 F102   50                           FCC   'P'   509 F103 F394                           FDB   REGPRT   ; Print register   510 F105   4A                           FCC   'J'   511 F106 F118                           FDB   DISPVIAS ; Print System I-O   512 F108   4B                           FCC   'K'   513 F109 F14C                           FDB   DISPPAGE ; Print page   514 F10B   46                           FCC   'F'   515 F1 F23C                           FDB   FILLCMD  ; Fill memory   516 F10E   2E                           FCC   '.'   517 F10F F706                           FDB   PUNTCMD  ; Set systeem instellingen   518                           *** Ruimte voor twee commando's   519                                     RPT   2   520 F111   FF FF FF                     FCB   $FF,$FF,$FF   521 F114   FF FF FF                     FCB   $FF,$FF,$FF   522 F117   FF                           FCB   $FF      ; EOT            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  12           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                      523                            PAG   524                           *   525                           *** Display I-O Devices Commando   526                           *   527 F118   BD FE44            DISPVIAS  JSR   PRTMSG   528 F11B   49 2D CF                     FCCH  'I-O'   529 F11E   BD F962                      JSR   HEADER   530 F121   BD FF19                      JSR   GETADSYS  ; BEM3 of BEM4   531   532 F124   26 0DA        F133            BNE   BEM3      ; EQ   is BEM4   533   534 F126   8E BE00            BEM4      LDX   #VIABASE4 ; BE00 USART   535 F129   8D 05        F130            BSR   D20       ; Display USART   536 F12B   8E BEE0                      LDX   #VIABASE4+$E0   537 F12E   8D 00        F130            BSR   D20       ; Display User VIA   538 F130   7E F932            D20       JMP   DMPREGEL  ;    en System VIA   539   540 F133   8E BB00            BEM3      LDX   #VIABASE3 ; Start I-O Gebied BEM3   541 F136   C6 05                        LDB   #5        ; 5 devices   542 F138   8D F6        F130  D10       BSR   D20       ; Display eerste 16 bytes   543                                                     ; van device   544 F13A   30 89 00F0                   LEAX  240,X     ; Volgend device   545 F13E   5A                           DECB   546 F13F   26 F7        F138            BNE   D10   547 F141   39                 D99       RTS   548                           *   549                           *** GETESC Kijk of toets binnen en Escape is   550                           *   ESC ga naar MCL - Main command loop   551                           *   Anders ga door waar je mee bezig bent   552                           *   553 F142   BD FE40            GETESC    JSR   CHARGET ; Get key   554 F145   81 1B                        CMPA  #$1B    ; ESC = Monitor   555 F147   26 F8        F141            BNE   D99     ; anders door   556 F149   7E FF6C                      JMP   MCL   557                           *   558                           *** Display PAGE   559                           *   560 F14C   BD FE44            DISPPAGE  JSR   PRTMSG   561 F14F   50 61 67 E5                  FCCH  'Page'   562 F153   BD FB37                      JSR   GET1PARM ; Laad 1 parm   563 F156   A6 41                        LDA   1,U      ; Page adres is 2 bytes   564 F158   5F                           CLRB           ; Low bye is zero   565 F159   1F 01                        TFR   D,X      ; Memory naar X   566 F15B   BD F962                      JSR   HEADER   567 F15E   C6 10                        LDB   #16      ; Display 16 regels   568 F160   8D CE        F130  DP10      BSR   D20   569 F162   5A                           DECB   570 F163   26 FB        F160            BNE   DP10   571 F165   39                           RTS            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  13           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                      572                            PAG   573                           *   574                           *** Dump Memory in ASCII   575                           *   576 F166   34 76              ASCIDUMP  PSHS  A,B,X,Y,U   577 F168   BD FE44                      JSR   PRTMSG   578 F16B   41 53 43 49 49               FCC   'ASCII'   579 F170   A0                           FCB   Space+128   580 F171   BD FB3B                      JSR   SEAGET2   ; X is startadres   581 F174   1E 01                        EXG   D,X   582 F176   C4 C0                        ANDB  #%11000000 ; Wis low mod 64   583 F178   1E 01                        EXG   D,X   584   585 F17A   8D 10        F18C  AD10      BSR   ASCREGEL   586 F17C   AC 42                        CMPX  ENDADR,U   587 F17E   24 0A        F18A            BCC   AD90    ; Einde bereikt of overschreden   588   589 F180   1F 10                        TFR   X,D   590 F182   5D                           TSTB          ; Page bereikt ?   591 F183   26 F5        F17A            BNE   AD10    ; Volgende regel   592   593 F185   BD F99C                      JSR   NEXTPAGE   594 F188   20 F0        F17A            BRA   AD10    ; Volgende page   595   596 F18A   35 F6              AD90      PULS  A,B,X,Y,U,PC   597   598 F18C   86 40              ASCREGEL  LDA   #64   599 F18E   34 02                        PSHS  A       ; Teller (64) op stack   600 F190   BD FDE1                      JSR  OUTXFDP  ; Print aaaa: op nieuwe regel   601 F193   1F 12                        TFR   X,Y     ; Bewaar adres voor ASCII   602   603 F195   BD F956            AR10      JSR   GETMEM  ; Print regel van 64 characters   604 F198   BD F980                      JSR   PNOPRT   605 F19B   6A E4                        DEC   ,S      ; Decrement byte teller   606 F19D   26 F6        F195            BNE   AR10   607   608 F19F   35 82                        PULS  A,PC    ; Delete teller en return            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  14           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                      609                            PAG   610                           *   611                           *** DUMP all (64k)   612                           *         Registers @U op stack   613                           *         0=Waarde   614                           *         1=Char teller   615                           *         2=Pages per regel   616                           *         3=aantal regels   617   618 F1A1   34 56              DUMPALL   PSHS  A,B,X,U   619 F1A3   BD FE44                      JSR   PRTMSG   620 F1A6   4D 65 6D 20 4D 61            FCC   'Mem Map'   621 F1AC   70   622 F1AD   A0                           FCB   Space+128   623 F1AE   C6 01                        LDB   #$01    ; invoer   624 F1B0   AD 9F 9FA4                   JSR   [MEMTYPE]   625   626 F1B4   33 7C                        LEAU  -4,S     ; Maak ruimte op stack   627 F1B6   1F 34                        TFR   U,S      ; Adresseer met U   628 F1B8   86 10                        LDA   #16   629 F1BA   A7 43                        STA   3,U   630   631 F1BC   BD F962            DA05      JSR   HEADER   ; Positioneer boven eerste hex   632 F1BF   8E 0000                      LDX   #0   633   634 F1C2   86 10              DA10      LDA   #16   635 F1C4   A7 42                        STA   2,U   636 F1C6   BD FDE1                      JSR   OUTXFDP  ; Print adress   637   638 F1C9   BD F956            DA20      JSR   GETMEM   ; Lees byte en verhoog pointer   639 F1CC   A7 40                        STA   0,U      ; Eerste is maatstaf   640 F1CE   86 FF                        LDA   #255     ; Vergelijk met rest   641 F1D0   A7 41                        STA   1,U   642   643 F1D2   BD F956            DA30      JSR   GETMEM   ; Lees byte en verhoog pointer   644 F1D5   A1 40                        CMPA  0,U      ; Deze gelijk aan eerste?   645 F1D7   26 16        F1EF            BNE   DA50     ; Nee   646 F1D9   6A 41                        DEC   1,U   647 F1DB   26 F5        F1D2            BNE   DA30   648 F1DD   BD FDA8                      JSR   OUT2HAS  ; Toon de inhoud van deze page   649                           *   650                           *** Stop voor langzaam geheugen (I2C EEPROM)   651                           *   652 F1E0   BD F142            DA40      JSR   GETESC   ; Kijk of Escape is ingedrukt   653                                                    ; Zo ja: Stop anders doorgaan   654   655 F1E3   6A 42              DA45      DEC   2,U   656 F1E5   26 E2        F1C9            BNE   DA20     ; Volgende page   657 F1E7   6A 43                        DEC   3,U   658 F1E9   26 D7        F1C2            BNE   DA10     ; Volgend 4k segment   659                           *   660                           *** Klaar   661                           *   662 F1EB   32 64              DA99      LEAS  4,S      ; Restore stack   663 F1ED   35 D6                        PULS  A,B,X,U,PC   664   665 F1EF   86 78              DA50      LDA   #'x'   666 F1F1   BD FD90                      JSR   CHAROUT   667 F1F4   BD FE85                      JSR   CHOUTSP   668 F1F7   1F 10                        TFR   X,D   669 F1F9   5D                           TSTB           ; Als Xl = 0   670 F1FA   27 02        F1FE            BEQ   DA60     ; dan staan we al op volgende page   671 F1FC   5F                           CLRB           ; Skip rest page en   672 F1FD   4C                           INCA           ; volgende page   673   674 F1FE   1F 01              DA60      TFR   D,X   675 F200   20 E1        F1E3            BRA   DA45            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  15           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                      676                            PAG   677                           *   678                           *** MOVE Commando   679                           *   680 F202   BD FE44            MOVECMD   JSR   PRTMSG   681 F205   4D 6F 76 65                  FCC   'Move'   682 F209   A0                           FCB   Space+128   683 F20A   C6 03                        LDB   #3   684 F2   AD 9F 9FA4                   JSR   [MEMTYPE]   685 F210   BD FB41                      JSR   GET3PARM   686 F213   34 12              MOVE      PSHS  X,A   687 F215   AE 40                        LDX   STARTADR,U   688 F217 10AE 44                        LDY   DESTADR,U   689   690 F21A   BD F956            MOVE1     JSR   GETMEM  ; Lees source   691 F21D   1E 12                        EXG   X,Y     ; Schrijf destination   692 F21F   BD FABB                      JSR   PUTMEM   693 F222   26 0A        F22E            BNE   MEMERROR   694 F224   1E 12                        EXG   X,Y   695 F226   31 21                        LEAY  1,Y   696 F228   AC 42                        CMPX  ENDADR,U   697 F22A   23 EE        F21A            BLS   MOVE1   698 F22C   35 92                        PULS  PC,X,A   699   700 F22E   C6 04              MEMERROR  LDB   #4      ; Foutmelding   701 F230   BD FCAD            PRTERRIN  JSR   PRERROR   702 F233   BD FDD1                      JSR   OUTXS   ; Print adres,   703 F236   BD FDBA                      JSR   OUT2HS  ; werkelijke inhoud   704 F239   7E FF6C                      JMP   MCL     ; en stop   705                           *   706                           *** FILL Commando   707                           *   708 F23C   BD FE44            FILLCMD   JSR   PRTMSG   709 F23F   46 69 6C 6C A0               FCCH  'Fill '   710 F244   5F                           CLRB   711 F245   AD 9F 9FA4                   JSR   [MEMTYPE]   712 F249   BD FB41                      JSR   GET3PARM  ; Bereik en Vulwaarde   713   714 F24C   34 12              FILL      PSHS  X,A   715 F24E   AE 40                        LDX   STARTADR,U   716 F250   A6 45                        LDA   DESTADR+1,U   717 F252   BD FABB            FILL1     JSR   PUTMEM   718 F255   26 D7        F22E            BNE   MEMERROR   719 F257   AC 42                        CMPX  ENDADR,U   720 F259   24 04        F25F            BCC   FILL9   721 F25B   30 01                        LEAX  1,X   722 F25D   20 F3        F252            BRA   FILL1   723 F25F   35 92              FILL9     PULS  PC,X,A   724            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  16           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                      725                            PAG   726                           *   727                           ***** SAVE MIKBUG TAPE *****   728                           *   729 F261   BD FE44            SAVE      JSR   PRTMSG   730 F264   53 61 76 65                  FCC  'Save'   731 F268   A0                           FCB   Space+HiBit   732 F269   CE 9F20                      LDU   #CONTRBLK   733 F26C   6F 44                        CLR   4,U      ; Default geen entry point   734 F26E   6F 45                        CLR   5,U   735 F270   BD FB41                      JSR   GET3PARM ; Begin, einde en entry point   736 F273 10AE 40                        LDY   0,U      ; Y: begin   737 F276   AE 42                        LDX   2,U      ; X: einde   738   739 F278   6F E2                        CLR   ,-S      ; Byte count op stack   740 F27A   34 30                        PSHS  X,Y      ; Zet adressen op stack   741 F27C   AC 62                        CMPX  2,S      ; vergelijk begin met einde   742 F27E   25 42        F2C2            BCS   PUNEXT   ; Als begin groter einde dan exit   743 F280   30 01                        LEAX  1,X      ; Increment eind adres   744 F282   AF E4                        STX   ,S       ; op stack   745   746 F284   EC E4              SAVE2     LDD   ,S       ; Laad einde in D   747 F286   A3 62                        SUBD  2,S      ; Aftrekken begin van einde   748 F288   27 06        F290            BEQ   SAVE3    ; Gelijk dan 16 bytes   749 F28A 1083 0010                      CMPD  #$10     ; Kleiner 16 byte   750 F28E   23 02        F292            BLS   SAVE4    ; Print dan aantal   751 F290   C6 10              SAVE3     LDB   #$10     ; Anders 16   752 F292   E7 64              SAVE4     STB   4,S      ; Byte count op stack   753 F294   BD FE44                      JSR   PRTMSG   ; Print S1 op nieuwe regel   754 F297   0DA                           FCB   CR   755 F298   53                           FCC  'S'       ; S1   756 F299   B1                           FCB   $31+HiBit   757 F29A   CB 03                        ADDB  #3       ; Bytecount+3 (adres en checksum)   758 F29C   1F 98                        TFR   B,A      ; Afdrukken   759 F29E   BD FDB0                      JSR   OUT2HA   ; bytecount   760 F2A1   AE 62                        LDX   2,S      ; Laad begin adres   761 F2A3   BD FDD9                      JSR   OUTX     ; Druk af   762 F2A6   EB 62                        ADDB  2,S      ; Optellen ADDR MSB bij checksum   763 F2A8   EB 63                        ADDB  3,S      ; Optellen ADDR LSB bij checksum   764 F2AA   EB 84              SAVE5     ADDB  ,X       ; Optellen DATA byte bij checksum   765 F2AC   BD F956                      JSR   GETMEM   ; Laad DATA byte   766 F2AF   BD FDB0                      JSR   OUT2HA   ; en druk af   767 F2B2   6A 64                        DEC   4,S      ; Verminder byte count   768 F2B4   26 F4        F2AA            BNE   SAVE5    ; Er is meer doorgaan   769 F2B6   53                           COMB           ; Klaar, 1's compliment checksum   770 F2B7   1F 98                        TFR   B,A      ; In Acc   771 F2B9   BD FDB0                      JSR   OUT2HA   ; en druk af   772 F2BC   AF 62                        STX   2,S      ; Volgend adres terug op stack   773 F2BE   AC E4                        CMPX  ,S       ; Vergelijk met eind adres   774 F2C0   26 C2        F284            BNE   SAVE2    ; Nog niet klaar, doorgaan   775   776 F2C2   32 65              PUNEXT    LEAS  5,S      ; Verwijder werkvelden van stack   777 F2C4   BD FE44                      JSR   PRTMSG   ; Print S9 Record   778 F2C7   0DA                           FCB   CR   779 F2C8   53 39 30                     FCC  'S90'   780 F2CB   B3                           FCB   $33+HiBit   781 F2CC   AE 44                        LDX   4,U      ; met start adres   782 F2CE   BD FDD9                      JSR   OUTX   783 F2D1   BD FDED                      JSR   DOCRLF   ; Netjes afsluiten   784 F2D4   7E FCE3                      JMP   CHARIN   ; Schoon hexfile voor SAVE naar PC            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  17           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                      785                            PAG   786                           *     COMPARE   787                           ***** Verify Mikbug tape met memory   788                           *   789 F2D7   A1 84              COMPBYTE  CMPA  ,X       ; A  is Hexfile   790 F2D9   27 16        F2F1            BEQ   CB10     ; @X Memory   791   792                           *** Maak entry in fouttabel   793 F2DB   AF A1                        STX   ,Y++     ; Adres in fouttabel   794 F2DD   A7 A0                        STA   ,Y+      ; DATA van hexfile   795 F2DF   A6 84                        LDA   ,X       ; DATA in memory   796 F2E1   A7 A0                        STA   ,Y+      ; in fout tabel   797 F2E3   1F 20                        TFR   Y,D   798 F2E5   B1 9FC1                      CMPA  TRBUFEND   799 F2E8   25 07        F2F1            BLO   CB10     ; Nog plek in tabel   800 F2EA   CC FFFF                      LDD   #$FFFF   ; tabel vol   801 F2ED   ED A3                        STD   ,--Y     ; Wis laatste entry   802 F2EF   ED A3                        STD   ,--Y   803 F2F1   30 01              CB10      LEAX  1,X   804 F2F3   4F                           CLRA   805 F2F4   39                           RTS   806   807 F2F5   BD FE44            VERIFY    JSR   PRTMSG     ; Start message   808 F2F8   56 65 72 69 66 79            FCC   'Verify'   809 F2FE   8D                           FCB   CRH   810 F2FF   B6 9FC0                      LDA   TRBUFST    ; Start tabel HI   811 F302   5F                           CLRB             ; en LOW   812 F303   1F 02                        TFR   D,Y   813 F305   30 8C CF     F2D7            LEAX  COMPBYTE,PCR   814 F308   BF 9FE4                      STX   PUTBLOAD   ; Compare databyte met geheugen   815 F30B   BD FBFA                      JSR   LOAD00     ; Lees en compare   816 F30E   CC FFFF                      LDD   #$FFFF     ; EOT is adres $FFFF   817 F311   ED A4                        STD   ,Y         ; in tabel   818 F313   30 8D 0991   FCA8            LEAX  PUTLOAD,PCR  ; Herstel normale load   819 F317   BF 9FE4                      STX   PUTBLOAD   ; (plemp in geheugen)   820 F31A   1F 20                        TFR   Y,D   821 F31C   B1 9FC0                      CMPA  TRBUFST    ; Tabel leeg ?   822 F31F   26 05        F326            BNE   COMP10   823 F321   5D                           TSTB   824 F322 1027 097B      FCA1            LBEQ  PRTOK   ; Er zijn geen verschillen   825   826 F326   BD F9A3            COMP10    JSR   ACK     ; Er zijn verschillen   827 F329   B6 9FC0                      LDA   TRBUFST   828 F32C   5F                           CLRB   829 F32D   1F 01                        TFR   D,X     ; Start fout tabel   830   831 F32F   BD FE21            COMP20    JSR   NEWLINE ; Print record   832 F332   BD FDB8                      JSR   OUT4HS  ; Adres   833 F335   BD FDBA                      JSR   OUT2HS  ; Data Hexfile   834 F338   BD FDBA                      JSR   OUT2HS  ; Data memory   835 F33B   EC 84                        LDD   ,X   836 F33D 1083 FFFF                      CMPD  #$FFFF  ; Einde tabel   837 F341   26 EC        F32F            BNE   COMP20  ; volgende entry   838 F343   39                           RTS           ; of klaar            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  18           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                      839                            PAG   840                           *   841                           *** Output registers   842                           *   843                           *** Print header met registernamen   844                           *   845 F344   B6 9FC6            PRTHEAD   LDA   DBUGFLGS   846 F347   85 10                        BITA  #%00010000 ; Test A.4 = 1   847 F349   26 46        F391            BNE   NEWLINE2   ; Alleen nieuwe regel   848   849 F34B   BD FE44            PH10      JSR   PRTMSG   850 F34E   0DA                 TXTHEAD   FCB   CR   851 F34F   20 53 50 20 20 45            FCC   ' SP  EFHI NZVC CC DP  IX   IY   US  A-D-B'   852 F355   46 48 49 20 4E 5A   853 F35B   56 43 20 43 43 20   854 F361   44 50 20 20 49 58   855 F367   20 20 20 49 59 20   856 F36D   20 20 55 53 20 20   857 F373   41 2D 44 2D 42   858 F378   A0                           FCB   Space+$80   859   860 F379   8D 5F        F3DA            BSR   TEST6309 ; Kijk of 6309   861 F37B   27 0E        F38B            BEQ   PH20     ; Nee   862 F37D   BD FE44                      JSR   PRTMSG   863 F380   45 2D 57 2D 46 20            FCC   'E-W-F  V  ' ; 6309 registers   864 F386   20 56 20 20   865 F38A   A0                           FCB   Space+$80   866   867 F38B   BD FE44            PH20      JSR   PRTMSG   868 F38E   20 50 C3                     FCCH  ' PC'   869   870 F391   7E FE21            NEWLINE2  JMP   NEWLINE   871   872 F394   FE 9F10            REGPRT    LDU   SYSSTACK : 'P' Commando   873                           *   874                           *** Print registers zoals deze waren bij SWI of NMI   875                           *   876 F397   8D AB        F344  PREGHEAD  BSR   PRTHEAD   877 F399   1F 30              PRINTREG  TFR   U,D   878 F39B   BD FDA2                      JSR   OUTDH    ; Print SP   879 F39E   1F 31                        TFR   U,X      ; X points to regs   880 F3A0   E6 84                        LDB   ,X       ; CCR   881 F3A2   BD FE04                      JSR   OUTBBIN  ; Print CCR binair   882 F3A5   BD FDBA                      JSR   OUT2HS   ; en hex   883 F3A8   A6 02                        LDA   2,X      ; Print DP in hex   884 F3AA   BD FDA8                      JSR   OUT2HAS   885 F3AD   30 03                        LEAX  3,X      ; Skip A, B en DP   886   887 F3AF   C6 03                        LDB   #3       ; 3 16bit registers   888 F3B1   BD FDB8            PR10      JSR   OUT4HS   ; Print X, Y, U   889 F3B4   5A                           DECB   890 F3B5   26 FA        F3B1            BNE   PR10   891   892 F3B7   30 17                        LEAX  -9,X     ; Positioneer op A   893 F3B9   BD FDBA                      JSR   OUT2HS   ; Print A en B   894 F3BC   BD FDBA                      JSR   OUT2HS   ; in hex   895 F3BF   30 07                        LEAX  7,X      ; Positioneer op PC   896   897 F3C1   8D 17        F3DA            BSR   TEST6309 ; 6309 Mode   898 F3C3   27 0F        F3D4            BEQ   PR20     ; Nee   899                           *   900                           *** Dit stuk wordt alleen uitgevoerd door een 6309   901                           *   Wordt door een 6809 assembler geassembleerd   902                           *   6309 statements mogen dus niet gebruikt worden   903                           *   904 F3C5 1FE8                           FDB   $1FE8    ; TFR E,A   905 F3C7   BD FDA8                      JSR   OUT2HAS  ; Print E en spatie   906 F3CA 1FF8                           FDB   $1FF8    ; TFR F,A   907 F3CC   BD FDA8                      JSR   OUT2HAS  ; Print F en spatie   908 F3CF 1F70                           FDB   $1F70    ; TFR V,D   909 F3D1   BD FD9E                      JSR   OUTDHS   ; Print V en spatie   910                           *   911                           *** Einde door 6309 uitgevoerd deel   912                           *   913 F3D4   AE 84              PR20      LDX   ,X       ; X: PC van stack   914 F3D6   6E 9F 9FE2                   JMP   [OUTPC]  ; Print PC of Dissassemble regel   915                           *   916                           *** Test op 6809 of 6800            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  19           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                      917                           *   6309 complement B, 6809 niet   918                           *   919 F3DA   34 06              TEST6309  PSHS  D   920 F3DC 1043                           FDB   $1043   ; 6309 COMD, 6809 COMA   921 F3DE   E1 61                        CMPB  1,S     ; 6309 NE,   6809 EQ   922                           ;         CLRA  ;$      ; TEST 6309   923                           ;         INCA  ;$   924 F3E0   35 86                        PULS  D,PC   925                           *   926                           * Deze routine print de registers zoals die waren bij de CALL   927                           * PC is dan het return adres van de Caller   928                           *   929 F3E2   34 7F              PRTREGS   PSHS  #$7F     ; Push regs, PC staat al op stack   930 F3E4   8D AB        F391            BSR   NEWLINE2 ; Op nieuwe regel   931 F3E6   1F 43                        TFR   S,U   932 F3E8   8D AF        F399            BSR   PRINTREG   933 F3EA   35 FF                        PULS  #$FF     ; Restore registers en return   934   935                           ;               Op LCD   936                           ;               0----+----1---+----2-   937                           ;               9FA2 1111 1111 XX DD   938                           ;               XXXX YYYY UUUU AA BB   939                           ;               PPPP @X @Y @U  EE FF   940                           ;               ---- instructie ----            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  20           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                      941                            PAG   942                           *   943                           ***       Print registers   944                           * DBUGFLGS $9FC6   945                           *         7654 3210   946                           *            0            : Print header   947                           *            1            : Print geen header   948                           *         1xx             : Start de debugger op adres na de SWI   949                           *         000             : Print registers en ga naar MCL (defa >   950                           *         001             : Geen  Print registers en vervolg na  >   951                           *         010             : Print registers vervolg na de SWI   952                           *         011             : Print registers en User response   953                           *   954                           ***       User response   955                           *         Escape          : Ga naar monitor   956                           *         Space           : Ga naar statement na de SWI   957                           *         CR              : Start debugger op statement na de SW >   958                           *         ABCDXYUP EFV(63): Wijzig Register   959                           *         ?               : Toon gewijzigde registers   960                           *         @x              : Print @register   961                           *         .x              : Wijzig instellingen   962   963 F3EC   7D 9FC6            PRTSWI    TST   DBUGFLGS   964 F3EF   2B 23        F414            BMI   PS50   965   966 F3F1   1F 43                        TFR   S,U   967 F3F3   8D A2        F397            BSR   PREGHEAD   968 F3F5   B6 9FC6                      LDA   DBUGFLGS   969 F3F8   85 20                        BITA  #%00100000   ; Test A.5   970 F3FA   26 03        F3FF            BNE   PS20   971 F3FC   7E FF6C            PS10      JMP   MCL          ; Clear: Terug naar Monitor   972   973 F3FF   85 40              PS20      BITA  #%01000000   ; Test A.6   974 F401   26 01        F404            BNE   PS40   975 F403   3B                 PS30      RTI                ; Clear:   Return naar User   976   977 F404   86 52              PS40      LDA   #'R'   978 F406   BD FE77                      JSR   PROMPT   979 F409   BD FD26                      JSR   CHINUP   ; User Response   980   981 F4   81 20                        CMPA  #Space   982 F40E   27 F3        F403            BEQ   PS30     ; Doorgaan na SWI   983 F410   81 0DA                        CMPA  #CR      ; CR is Debugger   984 F412   26 1A        F42E            BNE   PS60   985   986 F414   BE 9FBE            PS50      LDX   SWIBUG   ; Debugger SWI entrypoint   987 F417   8C FFFF                      CMPX  #$FFFF   988 F41A   27 E7        F403            BEQ   PS30     ; Geen debugger actief   989 F41C   6E 84                        JMP   ,X       ; Debugger met adres na SWI   990                           *   991                           *** Entry point voor NMI-Debugger   992                           *   993 F41E   BD F399            NMIREGS   JSR   PRINTREG ; Print registers   994 F421   86 44              NR10      LDA   #'D'   995 F423   BD FE77                      JSR   PROMPT   996 F426   BD FD26                      JSR   CHINUP   ; User Response   997 F429   8D 07        F432            BSR   CHLOOP   998 F42B   24 F4        F421            BCC   NR10     ; Register gevonden, volgend register   999 F42D   39                           RTS            ; Zo nee, [A] is debugger command  1000                                                    ; Dus ga terug naar Debugger  1001                           *  1002                           *** Vervolg SWI-Print  1003                           *  1004 F42E   8D 02        F432  PS60      BSR   CHLOOP  1005 F430   20 D2        F404            BRA   PS40  1006  1007 F432   81 3F              CHLOOP    CMPA  #'?'     ; ? Toon registers  1008 F434   26 05        F43B            BNE   CHL10  1009 F436   BD F397                      JSR   PREGHEAD ; Print registers met header  1010 F439   20 11        F44C            BRA   CHL40  1011  1012 F43B   81 2F              CHL10     CMPA  #'/'  1013 F43D   26 05        F444            BNE   CHL20  1014 F43F   BD F507                      JSR   DISP_REG ; ingevuld door Debugger  1015 F442   20 08        F44C            BRA   CHL40  1016  1017 F444   81 2E              CHL20     CMPA  #'.'     ; Monitor commando's  1018 F446   26 07        F44F            BNE   CHL30            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  21           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     1019 F448   AD 9F 9FAA                   JSR   [MONCMD] ; ingevuld door Debugger  1020 F44C   1C FE              CHL40     CLRC           ; commando's verwerkt  1021 F44E   39                           RTS  1022  1023                     F44F  CHL30     EQU   *  1024                           *  1025                           *** Change registers  1026                           *** Register in A  1027                           *  1028 F44F   8E F4DB            CHANGREG  LDX   #REGTABEL ; Naam & offset  1029 F452   A1 81              CR10      CMPA  ,X++      ; Naam in tabel  1030 F454   27 07        F45D            BEQ   CR20      ; Verwerk  1031 F456   6D 84                        TST   ,X        ; Einde tabel ?  1032 F458   26 F8        F452            BNE   CR10  1033 F45A   1A 01                        SETC            ; Register niet gevonden  1034 F45C   39                           RTS             ; Doe niets  1035                           *  1036                           *** Print en wijzig het opgegeven register  1037                           *  1038 F45D   A6 1F              CR20      LDA   -1,X     ; Offset op stack  1039 F45F   81                         CMPA  #12      ; 6309 (EFV) register ?  1040 F461   24 27        F48A            BHS   CR40     ; Ja  1041 F463   8D 1D        F482            BSR   PREGDP   ; Register naam  1042  1043 F465   A6 1F                        LDA   -1,X     ; Offset op stack  1044 F467   30 C6                        LEAX  A,U      ; Point to register  1045 F469   81 04                        CMPA  #4       ; 1 of 2 byte register  1046 F46B   2D 0B        F478            BLT   CR30     ; 1  1047 F46D   EC 84                        LDD   ,X       ; Laad woord van stack  1048 F46F   8D 48        F4B9            BSR   CHANGE16  1049 F471   26 0DA        F480            BNE   CR90     ; Invoer ? Nee, doe niets  1050 F473 10AF 84                        STY   ,X       ; Store 2 byte  1051 F476   20 08        F480            BRA   CR90     ; en klaar  1052  1053 F478   A6 84              CR30      LDA   ,X       ; Laad byte van stack  1054 F47A   8D 4D        F4C9            BSR   CHANGE8  1055 F47C   26 02        F480            BNE   CR90     ; Invoer ? Nee, doe niets  1056 F47E   A7 84                        STA   ,X       ; Store 1 byte  1057 F480   4F                 CR90      CLRA           ; en klaar  1058 F481   39                           RTS  1059                           *  1060                           *** Print opgegeven register naam  1061                           *  1062 F482   A6 1E              PREGDP    LDA   -2,X  1063 F484   BD FD90                      JSR   CHAROUT  ; Register naam  1064 F487   7E FDBF                      JMP   PCOLSP   ; Gevolgd door ': '  1065  1066 F48A   BD F3DA            CR40      JSR   TEST6309 ; 6309 Mode  1067 F48D   27 F1        F480            BEQ   CR90     ; Nee, Doe niets  1068                           *  1069                           *** Wijzig 6306 registers E-F-V  1070                           *   Alleen als 6309  1071                           *  1072 F48F   8D F1        F482            BSR   PREGDP   ; Register naam  1073 F491   A6 1F                        LDA   -1,X     ; Offset op stack  1074 F493   81                         CMPA  #12  1075 F495   26 0A        F4A1            BNE   CR50  1076 F497 1FE8                           FDB   $1FE8    ; TFR E,A  1077 F499   8D 2E        F4C9            BSR   CHANGE8  1078 F49B   26 E3        F480            BNE   CR90     ; Invoer ? Nee, doe niets  1079 F49D 1F8E                           FDB   $1F8E    ; gewijzigde waarde naar E  1080 F49F   20 DF        F480            BRA   CR90  1081  1082 F4A1   81 0DA              CR50      CMPA  #13  1083 F4A3   26 0A        F4AF            BNE   CR60  1084 F4A5 1FF8                           FDB   $1FF8    ; TFR F,A  1085 F4A7   8D 20        F4C9            BSR   CHANGE8  1086 F4A9   26 D5        F480            BNE   CR90     ; Invoer ? Nee, doe niets  1087 F4AB 1F8F                           FDB   $1F8F    ; gewijzigde waarde naar F  1088 F4AD   20 D1        F480            BRA   CR90  1089  1090 F4AF 1F70                 CR60      FDB   $1F70    ; TFR  V,D  1091 F4B1   8D 06        F4B9            BSR   CHANGE16  1092 F4B3   26 CB        F480            BNE   CR90     ; Invoer ? Nee, doe niets  1093 F4B5 1F70                           FDB   $1F70    ; Store 2 byte  1094 F4B7   20 C7        F480            BRA   CR90     ; en klaar  1095                           *  1096                           *** Einde wijzig 6306 registers E-F-V            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  22           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     1097                           *  1098 F4B9   BD FD9E            CHANGE16  JSR   OUTDHS   ; en display  1099 F4BC   8D 18        F4D6            BSR   OUTEQ    ; '=' teken  1100 F4BE   34 10                        PSHS  X        ; Get waarde  1101 F4C0   BD FB7C                      JSR   GETWORD  1102 F4C3   1F 12                        TFR   X,Y      ; Woord in Y  1103 F4C5   35 10                        PULS  X  1104 F4C7   4D                           TSTA           ; Invoer ?  1105 F4C8   39                           RTS  1106  1107 F4C9   BD FDA8            CHANGE8   JSR   OUT2HAS  ; en display  1108 F4CC   8D 08        F4D6            BSR   OUTEQ    ; '=' teken  1109 F4CE   BD FCE3                      JSR   CHARIN  1110 F4D1   BD F9DB                      JSR   GETBYTEP  1111 F4D4   5D                           TSTB           ; Invoer ?  1112 F4D5   39                           RTS  1113  1114 F4D6   86 3D              OUTEQ     LDA   #'='  1115 F4D8   7E FE85                      JMP  CHOUTSP  1116                           *  1117                           *** Register naam en offset  1118                           *  1119 F4DB   43 00              REGTABEL  FCB   'C',0    ; CCR  1120 F4DD   41 01                        FCB   'A',1    ; ACCU A  1121 F4DF   42 02                        FCB   'B',2    ; ACCU B  1122 F4E1   44 03                        FCB   'D',3    ; Direct Page  1123 F4E3   58 04                        FCB   'X',4    ; Index X  1124 F4E5   59 06                        FCB   'Y',6    ; Index Y  1125 F4E7   55 08                        FCB   'U',8    ; User SP  1126 F4E9   50 0A                        FCB   'P',10   ; Program Counter  1127                           ** 6309  1128 F4EB   45                         FCB   'E',12   ; ACCU E  1129 F4ED   46 0DA                        FCB   'F',13   ; ACCU F  1130 F4EF   56 0E                        FCB   'V',14   ; Value register  1131                           *# 6309  1132 F4F1   00                           FCB    0       ; Einde tabel            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  23           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     1133                            PAG  1134                           *  1135                           *** Display user stack  1136                           *  1137 F4F2   30 E8 12           DISSTACK  LEAX  18,S      ; (20) Skip PSHS X,U  1138                           *                         ; registers en return adres  1139 F4F5   C6 18                        LDB   #24       ; Maximaal 24  1140 F4F7   BD FDE1                      JSR   OUTXFDP  ; Display SP op nieuwe regel  1141 F4FA   BD FDBA            DS10      JSR   OUT2HS   ; Display byte op stack  1142 F4FD   5A                           DECB  1143 F4FE   27 05        F505            BEQ   DS99      ; Max 24  1144 F500   8C 9CF2                      CMPX  #STACKTOP ; of einde stack  1145 F503   26 F5        F4FA            BNE   DS10  1146 F505   35 D0              DS99      PULS  X,U,PC  1147                           *  1148                           *** Display Memory @ DP,X,Y,U,S,PC  1149                           *  1150 F507   34 50              DISP_REG  PSHS  X,U  1151 F509   86 40                        LDA   #'@'  1152 F50B   BD FD90                      JSR   CHAROUT   ; Display '@'  1153 F50E   17 007F      F590            LBSR  GETCHAR   ; Input register en display  1154 F511   81 53                        CMPA  #'S'      ; Display stack  1155 F513   27 DD        F4F2            BEQ   DISSTACK  1156 F515   81 50                        CMPA  #'P'      ; Dissassembleer @P  1157 F517   26 1D        F536            BNE   DR08  1158 F519   8D 7B        F596            BSR   SPBYTE  1159 F51B   5D                           TSTB            ; Getal ingevoerd?  1160 F51C   27 02        F520            BEQ   DR06      ; Ja  1161 F51E   86 08                        LDA   #8        ; Nee, default 8 regels  1162 F520   1F 89              DR06      TFR   A,B  1163 F522   AE 4A                        LDX   10,U      ; PC op stack  1164 F524   8D 05        F52B  DR07      BSR   DIS1REG   ; en disassembleer  1165 F526   5A                           DECB            ;  B  regels  1166 F527   26 FB        F524            BNE   DR07  1167 F529   20 DA        F505            BRA   DS99  1168                           *  1169                           *** Disassembleer 1 instructie op nieuwe regel  1170                           *** voor List breakpoints en Dissassembler  1171 F52B   BD FE21            DIS1REG   JSR   NEWLINE  1172                           *  1173                           *** Disassembleer 1 instructie op current positie  1174                           *** voor List registers  1175  1176 F52E 108E FE53            PRTPC     LDY   #PDATA     ; Voor Print registers  1177 F532   6E 9F 9FD8                   JMP   [DISREGEL] ; Doe 1 regel  1178  1179 F536   81 44              DR08      CMPA  #'D'  1180 F538   26 13        F54D            BNE   DR09  1181 F53A   BD FE87                      JSR   OUTSP  1182 F53D   A6 43                        LDA   3,U       ; User D is high  1183 F53F   5F                           CLRB            ; Low is 0  1184 F540   1F 01                        TFR   D,X  1185 F542   BD FD26                      JSR   CHINUP   ; Input register  1186 F545   81 0DA                        CMPA  #CR  1187 F547   26 53        F59C            BNE   DR30      ; Andere 'D' opties  1188 F549   86 10                        LDA   #16       ; Hele page  1189 F54B   20 33        F580            BRA   DR18  1190  1191 F54D   81 58              DR09      CMPA  #'X'  1192 F54F   26 04        F555            BNE   DR11  1193 F551   AE 44                        LDX   4,U     ; User X  1194 F553   20 20        F575            BRA   DR16  1195 F555   81 59              DR11      CMPA  #'Y'  1196 F557   26 04        F55D            BNE   DR12  1197 F559   AE 46                        LDX   6,U     ; User Y  1198 F55B   20 18        F575            BRA   DR16  1199 F55D   81 55              DR12      CMPA  #'U'  1200 F55F   26 04        F565            BNE   DR14  1201 F561   AE 48                        LDX   8,U     ; User U  1202 F563   20 10        F575            BRA   DR16  1203  1204 F565   81 20              DR14      CMPA  #Space  ; Memory  1205 F567   27 05        F56E            BEQ   DR15  1206 F569   BD FBCD                      JSR   WISCHAR  1207 F56C   20 20        F58E            BRA   DR99  1208  1209 F56E   BD FB7C            DR15      JSR   GETWORD  ; Hex waarde  1210 F571   81 00                        CMPA  #0            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  24           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     1211 F573   26 19        F58E            BNE   DR99  1212  1213 F575   BD FE87            DR16      JSR   OUTSP  1214 F578   BD F9DA                      JSR   GETBYTE  1215 F57B   5D                           TSTB          ; Getal ingevoerd?  1216 F57C   27 02        F580            BEQ   DR18    ; Ja  1217 F57E   86 01                        LDA   #1      ; Nee, default 1 regel  1218  1219 F580   34 02              DR18      PSHS  A       ; Regel teller  1220  1221 F582   BD F962            DR20      JSR   HEADER  1222 F585   BD F932            DR25      JSR   DMPREGEL  ; Dump regel in hex en ASCII  1223 F588   6A E4                        DEC   ,S  1224 F58A   26 F9        F585            BNE   DR25  1225 F58C   35 02                        PULS  A        ; Restore stack  1226 F58E   35 D0              DR99      PULS  X,U,PC  1227  1228 F590   BD FD26            GETCHAR   JSR   CHINUP   ; Input char  1229 F593   7E FD90                      JMP   CHAROUT  ; en display  1230  1231 F596   BD FE87            SPBYTE    JSR   OUTSP  1232 F599   7E F9DA            XGETBYTE  JMP   GETBYTE  1233  1234 F59C   34 02              DR30      PSHA  A       ; Type  1235 F59E   BD FD90                      JSR   CHAROUT  1236 F5A1   8D F3        F596            BSR   SPBYTE  ; byte binnen DP  1237 F5A3   1F 89                        TFR   A,B  1238 F5A5   A6 43                        LDA   3,U  1239 F5A7   1F 01                        TFR   D,X     ; X te displayen adres  1240 F5A9   8D EB        F596            BSR   SPBYTE  ; Aantal bytes  1241 F5AB   1F 89                        TFR   A,B     ; in B  1242 F5AD   5D                           TSTB          ; Geen  1243 F5AE   26 02        F5B2            BNE   DR30A  1244 F5B0   C6 10                        LDB   #16     ; dan default 16  1245 F5B2   BD FE21            DR30A     JSR    NEWLINE  1246 F5B5   35 02                        PULS  A       ; Andere 'D' opties  1247 F5B7   81 41                        CMPA  #'A'  1248 F5B9   27 24        F5DF            BEQ   DR35  1249 F5BB   81 42                        CMPA  #'B'  1250 F5BD   27 12        F5D1            BEQ   DR33  1251 F5BF   81 57                        CMPA  #'W'  1252 F5C1   26 CB        F58E            BNE   DR99  1253  1254 F5C3   C1 18              DR31      CMPB  #24     ; Maximaal 24  1255 F5C5   23 02        F5C9            BLS   DR32  1256 F5C7   C6 18                        LDB   #24  1257  1258 F5C9   BD FDB8            DR32      JSR   OUT4HS  1259 F5CC   5A                           DECB  1260 F5CD   26 FA        F5C9            BNE   DR32  1261 F5CF   20 BD        F58E            BRA   DR99  1262  1263 F5D1   C1 30              DR33      CMPB  #48     ; Maximaal 48  1264 F5D3   23 02        F5D7            BLS   DR34  1265 F5D5   C6 30                        LDB   #48  1266  1267 F5D7   BD FDBA            DR34      JSR   OUT2HS  1268 F5DA   5A                           DECB  1269 F5DB   26 FA        F5D7            BNE   DR34  1270 F5DD   20 AF        F58E            BRA   DR99  1271 F5DF   C1 50              DR35      CMPB  #80     ; Maximaal 80  1272 F5E1   23 02        F5E5            BLS   DR36  1273 F5E3   C6 50                        LDB   #80  1274 F5E5   A6 80              DR36      LDA   ,X+  1275 F5E7   BD F980                      JSR    PNOPRT  1276 F5EA   5A                           DECB  1277 F5EB   26 F8        F5E5            BNE   DR36  1278 F5ED   20 9F        F58E            BRA   DR99  1279  1280 F5EF   6E 9F 9F94         HELP      JMP   [PCMDHELP]  1281            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  25           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     1282                            PAG  1283                           *  1284                           *** Vergelijk 2 geheugen gebieden  1285                           *  1286 F5F3   34 36              COMPARE   PSHS  D,X,Y  1287 F5F5   BD FE44                      JSR   PRTMSG  1288 F5F8   43 6F 6D 70 61 72            FCCH  'Compare'  1289 F5FE   E5  1290 F5FF   BD FB41                      JSR   GET3PARM  1291 F602 10AE 44                        LDY   4,U  1292  1293 F605   AC 42              CP10      CMPX  2,U      ; vergelijk begin en eind adres  1294 F607   23 02        F60B            BLS   CP20     ; indien geen einde ga door  1295 F609   35 B6                        PULS  D,X,Y,PC ; Anders wegwezen  1296  1297 F60B   A6 80              CP20      LDA   ,X+      ; Vergelijk source en destination  1298 F60DA   A1 A0                        CMPA  ,Y+      ; en verhoog pointers  1299 F60F   27 F4        F605            BEQ   CP10  1300  1301 F611   34 12                        PSHS  X,A      ; Save source pointers  1302 F613   30 1F                        LEAX  -1,X  1303 F615   BD FDCF                      JSR   OUTXNL   ; Destination adres op nieuwe regel  1304 F618   A6 E4                        LDA   ,S       ; Restore source byte  1305 F61A   8D 10        F62C            BSR   OUTAHB   ; Output byte in Binair, Hex en ASCII  1306  1307 F61C   30 3F                        LEAX  -1,Y  1308 F61E   BD FDCF                      JSR   OUTXNL  ; Destination adres op nieuwe regel  1309 F621   A6 3F                        LDA   -1,Y    ; Tweede byte  1310 F623   8D 07        F62C            BSR   OUTAHB  ; Output byte in Binair, Hex en ASCII  1311 F625   35 12                        PULS  X,A     ; Restore memory pointers  1312 F627   BD FE21                      JSR   NEWLINE ; Nieuwe regel  1313 F62A   20 D9        F605            BRA   CP10  1314  1315 F62C   34 02              OUTAHB    PSHS  A  1316 F62E   BD FDA8                      JSR   OUT2HAS ; Print HEX  1317 F631   E6 E4                        LDB   ,S  1318 F633   BD FE04                      JSR   OUTBBIN ; Print binair  1319 F636   BD FDBC                      JSR   OUTS  1320 F639   A6 E4                        LDA   ,S  1321 F63B   BD F985                      JSR   NOPRINT ; Print ASCII  1322 F63E   BD FE85                      JSR   CHOUTSP  1323 F641   35 82                        PULS  A,PC  1324                           *  1325                           *** Display realtime byte  1326                           *  1327 F643   34 16              DISPBYTE  PSHS  D,X  1328 F645   BD FB3D                      JSR   GET2PARM  ;$ X  Bevat adres  1329  1330 F648   86 0DA              DB10      LDA   #CR     ; Naar begin regel  1331 F64A   BD FE85                      JSR   CHOUTSP ; zonder linefeed  1332 F64D   BD F142                      JSR   GETESC  ; Break  1333 F650   A6 84                        LDA   ,X  1334 F652   8D D8        F62C            BSR   OUTAHB  ; Output byte in Binair, Hex en ASCII  1335 F654   EC 42                        LDD   2,U     ; Test optie  1336 F656   27 07        F65F            BEQ   DB20    ; 0 = Wacht op key  1337  1338 F658   83 0001            DB15      SUBD  #1      ; Anders delay  1339 F65B   26 FB        F658            BNE   DB15  1340 F65D   20 E9        F648            BRA   DB10  1341  1342 F65F   BD FD26            DB20      JSR   CHINUP  1343 F662   20 E4        F648            BRA   DB10  1344            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  26           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     1345                            PAG  1346                           *** Set, Clear en Test bit  1347                           *   Operand staat na de call  1348                           *   JSR BITS  1349                           *   FCB Operand  1350                           *   76543210  1351                           *     aaaaaa Bit adres 0-63  1352                           *   00          Clear bit  1353                           *   01          Set bit  1354                           *   10          Test bit  1355                           *               Z = 1 Bit is 0  1356                           *               Z = 0 Bit is 1  1357                           *  1358                           *   11..0       manupuleer accu A  1359                           *   11..1       manupuleer accu B  1360                           *        aaa    Bitadres binnen accu  1361                           *  1362                           *     00        Clear bit  1363                           *     01        Set bit  1364                           *     10        ACC.n TO C  1365                           *     11        C TO ACC.n  1366  1367                           ;               0  1 3 5 7  1368                           ; stackframe:   DP D X U R  1369                           ;  1370 F664   34 5E              BITS      PSHS  DP,D,X,U  1371 F666   AE 67                        LDX   7,S     ; Return adres is adres operand  1372 F668   A6 80                        LDA   ,X+     ; Laad Operand en  1373                                                   ; increment returnadres  1374 F66A   AF 67                        STX   7,S     ; Nieuw return adres op stack  1375 F66C   1F 8B                        TFR   A,DP    ; Save in DP  1376 F66E   1F 89                        TFR   A,B     ; en B  1377  1378 F670   84 3F                        ANDA  #%00111111 ; bit 0 - 63  1379 F672   C4 C0                        ANDB  #%11000000 ; Operand  1380 F674   27 22        F698            BEQ   B10        ; 0 = Clear bit  1381 F676   C1 40                        CMPB  #%01000000  1382 F678   27 25        F69F            BEQ   B20        ; 1 = Set bit  1383 F67A   C1 80                        CMPB  #%10000000  1384 F67C   27 27        F6A5            BEQ   B30        ; 2 = Test bit  1385  1386 F67E   1F 89                        TFR   A,B        ; 3 = Accu bits  1387 F680   84 08                        ANDA  #%00001000 ; ACCU Select bit  1388 F682   26 04        F688            BNE   B05  1389 F684   A6 61                        LDA   1,S        ; Caller ACCA  1390 F686   20 02        F68A            BRA   B07  1391 F688   A6 62              B05       LDA   2,S        ; Caller ACCB  1392  1393 F68A   C4 30              B07       ANDB  #%00110000 ; Operand  1394 F68C   27 1D        F6AB            BEQ   B100       ; 0 = Clear bit  1395 F68E   C1 10                        CMPB  #%00010000  1396 F690   27 26        F6B8            BEQ   B110       ; 1 = Set bit  1397 F692   C1 20                        CMPB  #%00100000  1398 F694   27 2E        F6C4            BEQ   B120       ; 2 = ACC to C  1399 F696   20 42        F6DA            BRA   B140       ; 3 = C TO ACC  1400  1401 F698   8D 51        F6EB  B10       BSR   BIT_MASK ; Clear bit  1402 F69A   43                           COMA  1403 F69B   A4 84                        ANDA  ,X  1404 F69D   20 37        F6D6            BRA   B40  1405  1406 F69F   8D 4A        F6EB  B20       BSR   BIT_MASK ; Set bit  1407 F6A1   AA 84                        ORA   ,X  1408 F6A3   20 31        F6D6            BRA   B40  1409  1410 F6A5   8D 44        F6EB  B30       BSR   BIT_MASK ; Test bit  1411 F6A7   A4 84                        ANDA  ,X       ; Z = 1 Bit is 0  1412 F6A9   20 3E        F6E9            BRA   B99      ; Z = 0 Bit is 1            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  27           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     1413                            PAG  1414                           ;                       ; Clear Bit in Accu  1415 F6AB   1F 89              B100      TFR   A,B     ; Accu A of B in B  1416 F6AD   1F B8                        TFR   DP,A    ; bitadres binnen Accu  1417 F6AF   8D 45        F6F6            BSR   BM10X  1418 F6B1   53                           COMB  1419 F6B2   34 02                        PSHA  1420 F6B4   E4 E0                        ANDB  ,S+  1421 F6B6   20 26        F6DE            BRA   B150    ; Resultaat in B  1422  1423                           ;                       ; Set Bit in Accu  1424 F6B8   1F 89              B110      TFR   A,B     ; Accu A of B in B  1425 F6BA   1F B8                        TFR   DP,A    ; bitadres binnen Accu  1426 F6BC   8D 38        F6F6            BSR   BM10X  1427 F6BE   34 02                        PSHA  1428 F6C0   EA E0                        ORB   ,S+  1429 F6C2   20 1A        F6DE            BRA   B150    ; Resultaat in B  1430  1431                           ;                       ; Bit in Accu naar C  1432 F6C4   1F 89              B120      TFR   A,B     ; Accu A of B in B  1433 F6C6   1F B8                        TFR   DP,A    ; bitadres binnen Accu  1434 F6C8   8D 2C        F6F6            BSR   BM10X  1435 F6CA   34 02                        PSHA          ; Z = 1 Bit is 0  1436 F6CC   E4 E0                        ANDB  ,S+     ; Z = 0 Bit is 1  1437 F6CE   27 04        F6D4            BEQ   B130  1438 F6D0   1A 01                        SETC          ; return C  1439 F6D2   20 15        F6E9            BRA   B99  1440 F6D4   1C FE              B130      CLRC  1441  1442 F6D6   A7 84              B40       STA   ,X       ; Terug in bit array  1443 F6D8   20 0F        F6E9            BRA   B99  1444                           ;                       ; C naar Bit in Accu  1445 F6DA   24 CF        F6AB  B140      BCC   B100    ; C=0 > Clear bit in Accu  1446 F6DC   20 DA        F6B8            BRA   B110    ; C=1 > Set   bit in Accu  1447  1448 F6DE   1F B8              B150      TFR   DP,A  1449 F6E0   4D                           TSTA  #%00001000  1450 F6E1   27 04        F6E7            BEQ   B160  1451 F6E3   E7 62                        STB   2,S     ; Resultaat in Caller B  1452 F6E5   20 02        F6E9            BRA   B99  1453  1454 F6E7   E7 61              B160      STB   1,S     ; Resultaat in Caller A  1455 F6E9   35 DE              B99       PULS  DP,D,X,U,PC  1456  1457 F6EB   1F 89              BIT_MASK  TFR   A,B  1458 F6ED   C4 38                        ANDB  #%00111000  1459 F6EF   57                           ASRB  ; / 8  1460 F6F0   57                           ASRB  1461 F6F1   57                           ASRB  ; B: 0-7  1462 F6F2   8E 9F00                      LDX   #BIT_BASE  1463 F6F5   3A                           ABX   ; X: Adres in bit array  1464  1465 F6F6   84 07              BM10X     ANDA  #%00000111 ; A: Bit adres 0-7  1466 F6F8   CE F6FE                      LDU   #MASK_TAB  1467 F6FB   A6 C6                        LDA   A,U        ; A: Mask  1468 F6FD   39                           RTS  1469  1470 F6FE   01                 MASK_TAB  FCB   %00000001  1471 F6FF   02                           FCB   %00000010  1472 F700   04                           FCB   %00000100  1473 F701   08                           FCB   %00001000  1474 F702   10                           FCB   %00010000  1475 F703   20                           FCB   %00100000  1476 F704   40                           FCB   %01000000  1477 F705   80                           FCB   %10000000            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  28           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     1478                            PAG  1479                           *  1480                           *** Set systeem instellingen  1481                           *  1482 F706   8E F720            PUNTCMD   LDX   #JMPTAB  1483 F709   BD FD26                      JSR   CHINUP  1484 F7   81 2E                        CMPA  #'.'  1485 F70E   26 02        F712            BNE   PC10  1486 F710   86 30                        LDA   #'0'  1487  1488 F712   81 30              PC10      CMPA  #'0'  1489 F714   25 09        F71F            BLO   PC99   ; < 'O'  1490 F716   81 39                        CMPA  #'9'  1491 F718   22 05        F71F            BHI   PC99   ; > '9'  1492 F71A   80 30                        SUBA  #'0'   ; Maak binair  1493 F71C   48                           ASLA         ;2  1494 F71D   6E 96                        JMP   [A,X]  ; Voer uit  1495  1496 F71F   39                 PC99      RTS  1497                           *  1498 F720 F780                 JMPTAB    FDB   PRTHELP  1499 F722 F734                           FDB   TOGLPAGE  1500 F724 F73D                           FDB   TOGLHBFL  1501 F726 F744                           FDB   TOGLASC  1502 F728 F752                           FDB   SETSYSFL  1503 F72A F757                           FDB   SETDISFL  1504 F72C F74D                           FDB   SETDBFL  1505 F72E F769                           FDB   PAGEDISA  1506 F730 F764                           FDB   PAGECLRS  1507 F732 F777                           FDB   SWINMI  1508  1509 F734   B6 9FC3            TOGLPAGE  LDA   SYSCNTRL    ; TOGLPAGE: Toggle Page  flag (Syste >  1510 F737   88 08                        EORA  #%00001000  1511 F739   B7 9FC3            TOGSYS    STA   SYSCNTRL  1512 F73C   39                           RTS  1513  1514 F73D   B6 9FC3            TOGLHBFL  LDA   SYSCNTRL    ; TOGLHBFL: Toggle HiBit flag (Syste >  1515 F740   88 80                        EORA  #%10000000  1516 F742   20 F5        F739            BRA   TOGSYS  1517  1518 F744   B6 9FC7            TOGLASC   LDA   DISASMFL    ; TOGLASCI: Toggle ASCII flag (Dissa >  1519 F747   88 10                        EORA  #%00010000  1520 F749   B7 9FC7                      STA   DISASMFL  1521 F74C   39                           RTS  1522  1523 F74D   8E 9FC6            SETDBFL   LDX   #DBUGFLGS  1524 F750   20 08        F75A            BRA   SETOPTIE  1525  1526 F752   8E 9FC3            SETSYSFL  LDX   #SYSCNTRL  1527 F755   20 03        F75A            BRA   SETOPTIE  1528  1529 F757   8E 9FC7            SETDISFL  LDX  #DISASMFL  1530  1531 F75A   A6 84              SETOPTIE  LDA   ,X  1532 F75C   BD FA76                      JSR   EDITBIN  1533 F75F   25 02        F763            BLO   SD99  1534 F761   A7 84              SD10      STA   ,X  1535 F763   39                 SD99      RTS  1536  1537 F764   8E 9FC5            PAGECLRS  LDX   #LINESCRN  1538 F767   20 03        F76C            BRA   EDITHEX  1539  1540 F769   8E 9FC4            PAGEDISA  LDX   #DISLINPA  1541  1542 F76C   A6 84              EDITHEX   LDA   ,X  1543 F76E   BD FDA8                      JSR   OUT2HAS  1544 F771   BD F9F4                      JSR   GB18  1545 F774   A7 84                        STA   ,X  1546 F776   39                           RTS  1547  1548 F777   8E 9FC6            SWINMI    LDX   #DBUGFLGS  1549 F77A   A6 84                        LDA   ,X  1550 F77C   8A 80                        ORA   #$80  1551 F77E   20 E1        F761            BRA   SD10  1552  1553 F780   6E 9F 9F94         PRTHELP   JMP   [PCMDHELP]            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  29           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     1554                            PAG  1555 F784   81 10              PDEXIST   CMPA  #$10    ; < $10  1556 F786   2F 04        F78C            BLE   PE10    ; Geen extenties  1557 F788   81 1F                        CMPA  #$1F    ; > $1f  1558 F78A   22 00        F78C            BHI   PE10    ; Geen extenties  1559  1560  1561  1562 F78C   1A 01              PE10      SEC           ; Geen extenties  1563 F78E   39                           RTS  1564                           *  1565                           *** Nog vrije ruimte voor aanpassingen en uitbreidingen  1566                           *  1567                                     RPT    10  1568 F78F FFFF FFFF FFFF FFFF            FDB   -1,-1,-1,-1  1569 F797 FFFF FFFF FFFF FFFF            FDB   -1,-1,-1,-1  1570 F79F FFFF FFFF FFFF FFFF            FDB   -1,-1,-1,-1  1571 F7A7 FFFF FFFF FFFF FFFF            FDB   -1,-1,-1,-1  1572 F7AF FFFF FFFF FFFF FFFF            FDB   -1,-1,-1,-1  1573 F7B7 FFFF FFFF FFFF FFFF            FDB   -1,-1,-1,-1  1574 F7BF FFFF FFFF FFFF FFFF            FDB   -1,-1,-1,-1  1575 F7C7 FFFF FFFF FFFF FFFF            FDB   -1,-1,-1,-1  1576 F7CF FFFF FFFF FFFF FFFF            FDB   -1,-1,-1,-1  1577 F7D7 FFFF FFFF FFFF FFFF            FDB   -1,-1,-1,-1  1578                                     RPT    3  1579 F7DF   FF                           FCB   -1  1580 F7E0   FF                           FCB   -1  1581 F7E1   FF                           FCB   -1            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  30           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     1582                            PAG  1583                           **  1584                     F7E0            ORG   $F7E0  1585                           *** Extended Monitor routines  1586                           *  1587 F7E0 F0DA6                           FDB   PRTPAGE  1588 F7E2 FB27                           FDB   GET2SEQ  1589 F7E4 F142                           FDB   GETESC  1590 F7E6 F664                           FDB   BITS  1591 F7E8 FFFF                           FDB   -1 ; GETPARM1  1592 F7EA FFFF                           FDB   DUMMY  1593 F7EC FFFF                           FDB   DUMMY  1594 F7EE FFFF                           FDB   DUMMY  1595 F7F0 FFFF                           FDB   DUMMY  1596 F7F2 FFFF                           FDB   DUMMY  1597 F7F4 FFFF                           FDB   DUMMY  1598  1599 F7F6 FFFF                           FDB   DUMMY  1600 F7F8 FFFF                           FDB   DUMMY  1601 F7FA FFFF                           FDB   DUMMY  1602 F7FC FFFF                           FDB   DUMMY  1603 F7FE FF19                           FDB   GETADSYS            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  31           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     1604                            PAG  1605                     F800            ORG   $F800  1606                     F800  MONCALLS  EQU   *  1607                           *  1608                           *** Monitor routines voor extern gebruik  1609                           *   Deze worden indirect aangeroepen b.v. JSR  [CHAROUT]  1610                           *     Naam        SVC  1611 F800 FD90                  FDB  CHAROUT   ; 00 Uitvoer naar standaard uitvoer device  1612 F802 FE85                  FDB  CHOUTSP   ; 01 Uitvoer character en spatie  1613 F804 FE21                  FDB  NEWLINE   ; 02 Nieuwe regel: CR,LF, Left spaces en CRDELAY  1614 F806 FE1D                  FDB  NLPDATA   ; 03 Print Message @X op nieuwe regel  1615 F808 FE53                  FDB  PDATA     ; 04 Print Message @X  1616 F80A F962                  FDB  HEADER    ; 05 Print header voor memorydump  1617 F8 FDB0                  FDB  OUT2HA    ; 06 Out A als 2 hex  1618 F80E FDA8                  FDB  OUT2HAS   ; 07 Out A als 2 hex en spatie  1619 F810 FDBA                  FDB  OUT2HS    ; 08 Out byte @X als 2 hex en spatie  1620 F812 FDAE                  FDB  OUT2HX    ; 09 Out byte @X als 2 hex  1621 F814 F97B                  FDB  OUT2SP    ; 0A Out 2 spaties  1622 F816 FDB8                  FDB  OUT4HS    ; 0B Out word @X als 4 hex en spatie  1623 F818 FDAC                  FDB  OUT4HX    ;  Out word @X als 4 hex  1624 F81A FE04                  FDB  OUTBBIN   ; 0DA Out B binair  1625 F81C FE8C                  FDB  OUTBSP    ; 0E Out [B] spaties  1626 F81E FADB                  FDB  OUTCHDP   ; 0F Out character en dubbele punt  1627 F820 FDC1                  FDB  OUTCHSP   ; 10 Out character en spatie  1628 F822 FDA2                  FDB  OUTDH     ; 11 Out D als 4 hex  1629 F824 FD9E                  FDB  OUTDHS    ; 12 Out D als 4 hex en spatie  1630 F826 FD82                  FDB  OUTHL     ; 13 Out linker nibble in A  1631 F828 FD86                  FDB  OUTHR     ; 14 Out rechter nibble in A  1632 F82A FDCB                  FDB  OUTQ      ; 15 Out vraagteken  1633 F82C FE87                  FDB  OUTSP     ; 16 Out spatie  1634 F82E FDC9                  FDB  OUTSPQ    ; 17 Out spatie en vraagteken  1635 F830 FDC5                  FDB  OUTSPQB   ; 18 Out spatie, vraagteken en beep  1636 F832 FDD9                  FDB  OUTX      ; 19 Out X als 4 hex  1637 F834 FDD1                  FDB  OUTXS     ; 1A Out X als 4 hex en spatie  1638 F836 FDCF                  FDB  OUTXNL    ; 1B Out X als 4 hex op nieuwe regel  1639 F838 FDE3                  FDB  OUTXDP    ; 1C Out [X] als 4 hex en dubbele punt  1640 F83A FDE1                  FDB  OUTXFDP   ; 1D Out [X] als 4 hex en dubbele punt op nieuwe >  1641 F83C FDBF                  FDB  PCOLSP    ; 1E Out dubbele punt en spatie  1642 F83E F980                  FDB  PNOPRT    ; 1F Out $20 - $7F als ASCII, rest als '.'  1643 F840 FCAD                  FDB  PRERROR   ; 20 Out RC=x op nieuwe regel (x=[B])  1644 F842 FFFF                  FDB  DUMMY     ; 21 Idem met adres en inhoud op dat adres  1645 F844 FE77                  FDB  PROMPT    ; 22 Out '<x> ' op nieuwe regel (x=[A])  1646 F846 FD98                  FDB  PUTDA     ; 23 Out D als 2 ASCII  1647 F848 FD94                  FDB  PUTDAS    ; 24 Out D als 2 ASCII en spatie  1648 F84A FBCD                  FDB  WISCHAR   ; 25 Wis het character op cursor positie  1649 F84C F99C                  FDB  NEXTPAGE  ; 26 Out '<*>' en wacht op nieuw blad  1650 F84E F900                  FDB  DUMP      ; 27 Dump memory  1651 F850 F932                  FDB  DMPREGEL  ; 28 Dump 16 bytes als hex ASCII  1652 F852 FDF5                  FDB  CLRSCRN   ; 29 Wis scherm  1653 F854 FE8E                  FDB  OUTBCH    ; 2A Out [B] tekens in A  1654 F856 F9B4                  FDB  TESTCHAR  ; 2B Test character  1655 F858 FCEE                  FDB  TESTHEX   ; 2C Test of character hex is  1656 F85A FD30                  FDB  UPPER     ; 2D Converteer naar uppercase  1657 F85C F985                  FDB  NOPRINT   ; 2E Converteer niet $20-$7F naar '.'  1658 F85E FF19                  FDB  GETADSYS  ; 2F Bepaal SYSVIA Adres  1659 F860 FCE3                  FDB  CHARIN    ; 30 Invoer van standaard invoer device  1660 F862 FE40                  FDB  CHARGET   ; 31 Character aanwezig lees, anders return 0  1661 F864 FD26                  FDB  CHINUP    ; 32 Invoer hoofdletter en test escape  1662 F866 FB43                  FDB  GETPARM   ; 33 Lees [A] parameters in controlblock (@U)  1663 F868 FD3B                  FDB  GETBBIN   ; 34 Lees binair in B  1664 F86A F9DA                  FDB  GETBYTE   ; 35 Lees byte (hex, binair of ASCII)  1665 F86C F9DB                  FDB  GETBYTEP  ; 36 Lees byte met voorkeuze  1666 F86E FB7C                  FDB  GETWORD   ; 37 Lees word in X  1667 F870 FB7D                  FDB  GETWORDP  ; 38 Lees word in X met voor keuze  1668 F872 FAEE                  FDB  KEYIN     ; 39 Edit ASCII Buffer @X lengte [B]  1669 F874 FAEC                  FDB  KEYIN10   ; 3A Edit ASCII Buffer @X lengte 64  1670 F876 FAE9                  FDB  KEYINSYS  ; 3B Edit ASCII SYSBUF lengte 64  1671 F878 FB3B                  FDB  SEAGET2   ; 3C Default eind adres = $FFFF bij twee paramet >  1672 F87A F9A8                  FDB  ACK1      ; 3D Acknowledge  1673 F87C FA76                  FDB  EDITBIN   ; 3E Edit Bin in A  1674 F87E FA0E                  FDB  EDITMEM   ; 3F Edit memory (Opvragen parameters)            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  32           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     1675                            PAG  1676                           *  1677                           *** Routines die NIET als SVC uitgevoerd mogen worden  1678                           *  1679 F880 FF6C                  FDB  MCL       ; Main Command loop  1680 F882 FF97                  FDB  CMDHDL    ; Command handler  1681 F884 FB46                  FDB  PGUSR     ; Invullen User tabel  1682 F886 FFFF                  FDB  DUMMY     ; Reserve  1683 F888 FE44                  FDB  PRTMSG    ; Print message embedded in Code  1684 F88A FA1F                  FDB  EDIT2     ; Edit memory (Parameters als opgegeven)  1685                           *  1686                           *** Datum / tijd  van Compilatie  1687                           *  1688 F88C 5B5A                           FDB   &DATE  1689 F88E 7965                           FDB   &TIME  1690                           *#END  1691                           *  1692                           *** Default pointers voor Command routine  1693                           *  1694 F890 FABF                 MCLDEF    FDB   PUTMDEF  1695 F892 F95A                           FDB   GETMDEF  1696 F894 FFFF                           FDB   DUMMY  1697 F896 FFFF                           FDB   DUMMY            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  33           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     1698                            PAG  1699                           *  1700                           *** Vectored Jump commando's  1701                           *  1702 F898   6E 9F 9FB4         JMPXVECT  JMP   [XVECTOR]  1703 F89C   6E 9F 9FB2         JMPZVECT  JMP   [ZVECTOR]  1704                           *  1705                           *** Logon boodschap  1706                           *  1707 F8A0   42 45 52 54 4D 4F  LOGON     FCC   'BERTMON9'  1708 F8A6   4E 39  1709 F8A8   2D 35 2E 34                  FCC   '-5.4'  ; Versie  1710 F8AC   0DA                           FCB   CR  1711 F8AD   28 63 29 20 52 6F  COPYRIGT  FCC   '(c) Robert Henneke'  1712 F8B3   62 65 72 74 20 48  1713 F8B9   65 6E 6E 65 6B 65  1714 F8BF   87                           FCB   $87     ; EOT en Bell  1715                           *  1716                           *** (Monitor) default waarden Systeem RAM  1717                           *  1718                     F8C0  DEFWORK   EQU   *  1719 F8C0   94                           FCB   HI:TRBUFSTA  ; CO | Trace, verify en andere buff >  1720 F8C1   98                           FCB   HI:TRBUFENX  ; C1 |  1721 F8C2   00                           FCB   0            ; C2 Newline delay  1722 F8C3   01                           FCB   1            ; C3 Left (SYSCNTRL)  1723 F8C4   28                           FCB   40           ; C4 Aantal regels dissassembler  1724 F8C5   28                           FCB   40           ; C5 Regels per scherm  1725 F8C6   06                           FCB   $06          ; C6 Debug en SWI  1726 F8C7   90                           FCB   $90          ; C7 Dissassembler opties  1727 F8C8   FF                           FCB   DUMMY        ; C8 |  1728 F8C9   FF                           FCB   DUMMY        ; C9 |  1729 F8CA   FF                           FCB   DUMMY        ; CA |  1730 F8CB   FF                           FCB   DUMMY        ; CB | Reserve  1731 F8CC   FF                           FCB   DUMMY        ; CC |  1732 F8CD   FF                           FCB   DUMMY        ; CD |  1733 F8CE   FF                           FCB   DUMMY        ; CE |  1734 F8CF   FF                           FCB   DUMMY        ; CF |  1735  1736 F8D0 FDC5                           FDB   OUTSPQB      ; D0 Fout commando, piep en ?  1737 F8D2 FFFF                           FDB   DUMMY        ; D2 CRDELAY default dummy  1738 F8D4 FFFF                           FDB   DUMMY        ; D4 Y Start te testen monitor  1739 F8D6 FFFF                           FDB   DUMMY        ; D6 Print registers in debugger  1740 F8D8 FFFF                           FDB   DUMMY        ; D8 Dissassembleer 1 regel  1741 F8DA 0000                           FDB   0            ; DA Offset bij Load  1742 F8DC 7FFF                           FDB   MEMTOP       ; DC User Memorytop  1743 F8DE FF6C                           FDB   MCL          ; DE User NMI  1744  1745 F8E0 FF6C                           FDB   MCL          ; E0 Escape vector  1746 F8E2 FDD9                           FDB   OUTX         ; E2 Out PC bij Print registers  1747 F8E4 FCA8                           FDB   PUTLOAD      ; E4 PUTLOAD vector  1748 F8E6 FFFF                           FDB   DUMMY        ; E6 Reserve  1749 F8E8 F784                           FDB   PDEXIST      ; E8 PDEXIST  1750 F8EA FE97                           FDB   SEROUTCH     ; EA Out vector  1751 F8EC FEAE                           FDB   SERINCH      ; EC In  vector  1752 F8EE FEA5                           FDB   SERGETCH     ; EE Get vector  1753  1754 F8F0 FFD7                           FDB   DUMRTI       ; F0 Reserved vector (6809) of trap >  1755 F8F2 FF6C                           FDB   MCL          ; F2 SWI3  1756 F8F4 FF6C                           FDB   MCL          ; F4 SWI2  1757 F8F6 FFD7                           FDB   DUMRTI       ; F6 FIRQ  1758 F8F8 FFD7                           FDB   DUMRTI       ; F8 IRQ  1759 F8FA FFFF                           FDB   DUMMY        ; FA SWI  1760 F8FC FFD7                           FDB   DUMRTI       ; FC NMI  1761 F8FE FF6C                           FDB   MCL          ; FE SVC ($3E)  1762                     F900  ENDWORK   EQU   *            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  34           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     1763                            PAG  1764                           $SET TYPE C  1765                           *  1766                           *** Dump Memory (bereik in control block)  1767                           *  1768 F900   34 76              DUMP      PSHS  A,B,X,Y,U  1769 F902   20 1B        F91F            BRA   DM10  1770                           *  1771                           *** Dump Memory (Geef bereik op)  1772                           *  1773 F904   34 76              HEXDUMP   PSHS  A,B,X,Y,U  1774 F906   BD FE44                      JSR   PRTMSG  1775 F909   48 65 78 44 75 6D            FCCH  'HexDump'  1776 F90F   F0  1777                           ;         FCC   'HexDum'  1778                           ;         FCB   'p'+128  1779 F910   C6 01                        LDB   #$01    ; invoer  1780 F912   AD 9F 9FA4                   JSR   [MEMTYPE]  1781 F916   BD FB3B                      JSR   SEAGET2   ; X is startadres  1782 F919   1E 01                        EXG   D,X  1783 F91B   C4 F0                        ANDB  #%11110000 ; Wis low nibble  1784 F91D   1E 01                        EXG   D,X        ; AAA0  1785  1786 F91F   8D 41        F962  DM10      BSR   HEADER  1787  1788 F921   8D 0F        F932  DM20      BSR   DMPREGEL  1789 F923   AC 42                        CMPX  ENDADR,U  1790 F925   24 09        F930            BCC   DM90     ; Einde bereikt of overschreden  1791 F927   1F 10                        TFR   X,D  1792 F929   5D                           TSTB           ; Page bereikt ?  1793 F92A   26 F5        F921            BNE   DM20     ; Volgende regel  1794 F92C   8D 6E        F99C            BSR   NEXTPAGE  1795 F92E   20 EF        F91F            BRA   DM10     ; Volgende page  1796  1797 F930   35 F6              DM90      PULS  A,B,X,Y,U,PC  1798  1799 F932   86 10              DMPREGEL  LDA   #16      ; 16 bytes @X  1800 F934   34 02                        PSHS  A        ; Teller (16) op stack  1801 F936   BD FDE1                      JSR   OUTXFDP  ; Print aaaa: op nieuwe regel  1802 F939   1F 12                        TFR   X,Y      ; Bewaar adres voor ASCII  1803  1804 F93B   8D 19        F956  DM30      BSR   GETMEM   ; Lees byte  1805 F93D   BD FDA8                      JSR   OUT2HAS  1806 F940   6A E4                        DEC   ,S       ; Decrement byte teller  1807 F942   26 F7        F93B            BNE   DM30  1808  1809 F944   1F 21                        TFR   Y,X      ; Restore adres  1810 F946   86 10                        LDA   #16  1811 F948   A7 E4                        STA   ,S       ; Reset teller op 16  1812 F94A   8D 2F        F97B            BSR   OUT2SP  1813  1814 F94C   8D 08        F956  DM40      BSR   GETMEM   ; Lees byte en verhoog pointer  1815 F94E   8D 30        F980            BSR   PNOPRT  1816 F950   6A E4                        DEC   ,S       ; Decrement byte teller  1817 F952   26 F8        F94C            BNE   DM40  1818  1819 F954   35 82                        PULS  A,PC     ; Delete teller  1820                                                    ; en return  1821                           *  1822                           *** GETBYTE: Lees Memory of via vector (I2C)  1823                           *  1824 F956   6E 9F 9F7A         GETMEM    JMP   [VECTGETM]  1825  1826 F95A   A6 80              GETMDEF   LDA   ,X+  1827 F95C   39                           RTS  1828                           *  1829                           *** Dummy lees/schrijf (altijd $FF/Not EQ)  1830                           *  1831 F95D   30 01              GETDUMMY  LEAX  1,X  1832 F95F   86 FF              PUTDUMMY  LDA   #$FF  1833 F961   39                           RTS            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  35           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     1834                            PAG  1835                           *  1836                           *** Print header  1837                           *  1838 F962   34 06              HEADER    PSHS  A,B  1839 F964   BD FE21                      JSR   NEWLINE  1840 F967   C6 06                        LDB   #6  1841 F969   BD FE8C                      JSR   OUTBSP  1842 F96C   5F                           CLRB  1843 F96D   1F 98              H10       TFR   B,A  1844 F96F   BD FD86                      JSR   OUTHR  1845 F972   8D 07        F97B            BSR   OUT2SP  1846 F974   5C                           INCB  1847 F975   C1 10                        CMPB  #16  1848 F977   26 F4        F96D            BNE   H10  1849 F979   35 86                        PULS  A,B,PC  1850  1851 F97B   8D 00        F97D  OUT2SP    BSR   XOUTSP  1852 F97D   7E FE87            XOUTSP    JMP   OUTSP  1853                           *  1854                           ***  Print Unprintable characters  1855                           ***  ASCII (Printbaar) of '.' (< $20 of >$7F)  1856                           *  1857 F980   8D 03        F985  PNOPRT    BSR   NOPRINT  1858 F982   7E FD90                      JMP   CHAROUT  1859                           *  1860                           *** Converteer [A] 20h - 7Fh onveranderd Rest '.'  1861                           * Bij SYSCNTRL.7=1 Print 7 bits ASCCI  1862                           *  1863 F985   81 20              NOPRINT   CMPA  #SPACE   ; Niet printbaar naar '.'  1864 F987   25 10        F999            BCS   NOP8     ; < 20h   --> '.'  1865 F989   81 7F                        CMPA  #$7F     ; $20-$7F  1866 F98B   25 0E        F99B  NOP2      BCS   NOP9     ; ASCII normaal afdrukken  1867  1868 F98D   7D 9FC3                      TST   SYSCNTRL ; bit7 aan ?  1869 F990   2A 07        F999            BPL   NOP8     ; nee, print '.'  1870 F992   84 7F                        ANDA  #$7F     ; Ja, Wis high bit  1871 F994   81 20                        CMPA  #SPACE   ; Niet printbaar naar '.'  1872 F996   25 01        F999            BCS   NOP8     ; $80-$9F --> '`'  1873 F998   39                           RTS  1874  1875 F999   86 2E              NOP8      LDA   #'.'  1876 F99B   39                 NOP9      RTS  1877                           *  1878                           ***  Wacht na afdruk blad  1879                           *  1880 F99C   B6 9FC3            NEXTPAGE  LDA   SYSCNTRL  1881 F99F   85 08                        BITA  #%00001000   ; Test A.3  1882 F9A1   26         F9AF            BNE   ACK9         ; Clear: Wacht op blad  1883                           *  1884                           ***  Acknowledge  1885                           ***  CR is doorgaan  1886                           ***  ESC is einde  1887                           *  1888 F9A3   86 2A              ACK       LDA   #'*'     ; Prompt <*> _  1889 F9A5   BD FE77                      JSR  PROMPT  1890  1891 F9A8   BD FD26            ACK1      JSR   CHINUP   ; Escape is einde  1892 F9AB   81 0DA                        CMPA  #CR      ; Enter is doorgaan  1893 F9AD   26 F9        F9A8            BNE   ACK1     ; Negeer rest  1894 F9AF   39                 ACK9      RTS  1895                           *  1896                           *** User start  1897                           *  1898 F9B0   6E 9F 9FB0         JMPQVECT  JMP   [QVECTOR]            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  36           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     1899                            PAG  1900                           *  1901                           *** Routines voor EDIT  1902                           *  1903 F9B4   C6 FF              TESTCHAR  LDB   #$FF  1904 F9B6   5C                 TC10      INCB  1905 F9B7   A1 84                        CMPA  ,X  1906 F9B9   27 07        F9C2            BEQ   TC30  1907 F9BB   6D 80                        TST   ,X+      ; einde tabel  1908 F9BD   26 F7        F9B6            BNE   TC10  1909 F9BF   1C FE              TC15      CLC            ; Niet gevonden  1910 F9C1   39                           RTS  1911  1912 F9C2   1A 01              TC30      SEC  1913 F9C4   39                           RTS  1914  1915 F9C5   0DA 20 53 4C 52     CHARTAB   FCB   CR,Space,'S','L','R'  1916 F9CA   25 7E                        FCB   '%','~'  1917 F9CC   00                           FCB   0  1918  1919 F9CD   BD FD26            GHEX8     JSR   CHINUP  1920 F9D0   34 10                        PSHS  X  1921 F9D2   8E F9C5                      LDX   #CHARTAB  1922 F9D5   8D DD        F9B4            BSR   TESTCHAR  1923 F9D7   35 10                        PULS  X  1924 F9D9   39                           RTS  1925                           *  1926                           **** Get byte in hex, binair of ASCII  1927                           *  1928 F9DA   4F                 GETBYTE   CLRA  1929 F9DB   4D                 GETBYTEP  TSTA  1930 F9DC   27 16        F9F4            BEQ   GB18  1931 F9DE   81 27                        CMPA  #quote  1932 F9E0   26 24        FA06            BNE   GB20  1933 F9E2   BD FD90                      JSR   CHAROUT  1934  1935 F9E5   BD FCE3            GB10      JSR   CHARIN  1936 F9E8   BD FD90                      JSR   CHAROUT  1937 F9EB   81 1B              GB12      CMPA  #Escape  1938 F9ED   26 03        F9F2            BNE   GB14  1939 F9EF   C6 01                        LDB   #1  1940 F9F1   39                           RTS  1941  1942 F9F2   5F                 GB14      CLRB  1943 F9F3   39                 GB99      RTS  1944  1945 F9F4   BD FD30            GB18      JSR   UPPER  1946 F9F7   34 10                        PSHS  X        ; Get waarde  1947 F9F9   BD FB7D                      JSR   GETWORDP  1948 F9FC   34 10                        PSHS  X        ; Verkregen waarde op stack  1949 F9FE   1F 89                        TFR   A,B      ; Returncode in B  1950 FA00   A6 61                        LDA   1,S      ; Low byte   in A  1951 FA02   35 10                        PULS  X        ; Restore stack  1952 FA04   35 90                        PULS  X,PC     ; en return  1953  1954 FA06   81 25              GB20      CMPA  #'%'  1955 FA08   26 EA        F9F4            BNE   GB18  1956 FA0A   8D 71        FA7D            BSR   EB10  1957 FA   20 DD        F9EB            BRA   GB12            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  37           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     1958                            PAG  1959                           *  1960                           **** Edit memory commando -  Subcommando's  1961                           *       Escape  Einde commando  (Return naar Monitor)  1962                           *       '~'     Soft escape     (Return naar Caller)  1963                           *       Enter   Volgend adres  1964                           *       Space   Vorig adres  1965                           *       'S'     Enter string    (max 64)  1966                           *       Quote   Enter ASCII (byte)  1967                           *       '%'     Bekijk en invoer binair  1968                           *       hex     Edit in hex  1969                           *       'R'     Bereken  8 bits offset  1970                           *       'L'     Bereken 16 bits offset  1971                           *  1972 FA0E   BD FE44            EDITMEM   JSR   PRTMSG  1973 FA11   45 64 69 F4                  FCCH  'Edit'  1974                           ;         FCC   'Edi'  1975                           ;         FCB   't'+128  1976 FA15   5F                           CLRB            ; Bepaal memory type  1977 FA16   AD 9F 9FA4                   JSR   [MEMTYPE] ; Invoer gelijk aan uitvoer  1978 FA1A   BD FB37                      JSR   GET1PARM  1979 FA1D   AE 40                        LDX   STARTADR,U  1980  1981 FA1F   BD FDE1            EDIT2     JSR   OUTXFDP   ; Output adres 0000: . FF  1982 FA22   BD F956                      JSR   GETMEM    ; Lees byte en verhoog pointer  1983 FA25   30 1F                        LEAX  -1,X      ; pointer blijft op current adres  1984 FA27   34 02                        PSHS  A         ; Gevolgd door  1985 FA29   BD F980                      JSR   PNOPRT    ; Inhoud in ASCII  1986 FA2C   BD FE87                      JSR   OUTSP     ; 1 spatie  1987 FA2F   35 02                        PULS  A         ; en inhoud  1988 FA31   BD FDA8                      JSR   OUT2HAS   ; in HEX  1989 FA34   8D 97        F9CD            BSR   GHEX8     ; Eerste toets  1990 FA36   25 14        FA4C            BCS   EDIT3     ; Edit commando  1991 FA38   8D A1        F9DB            BSR   GETBYTEP  ; Input byte  1992 FA3A   C1 02                        CMPB  #2        ; Geen invoer  1993 FA3C   27 30        FA6E            BEQ   EDIT5     ; Dan volgend adres  1994  1995 FA3E   8D 7B        FABB  EDIT2A    BSR   PUTMEM    ; Verander memory  1996 FA40   27 2C        FA6E            BEQ   EDIT5     ; Gelijk aan invoer, volgende opnieuw  1997 FA42   BD FDC5                      JSR   OUTSPQB   ; Ongelijk NOK: ? Piep  1998 FA45   A6 84                        LDA   ,X  1999 FA47   BD FDB0                      JSR   OUT2HA    ; en display werkelijke waarde  2000 FA4A   20 D3        FA1F            BRA   EDIT2     ; Opnieuw zelfde adres  2001  2002 FA4C   81 7E              EDIT3     CMPA  #'~'      ; Soft escape  2003 FA4E   27 A3        F9F3            BEQ   GB99  2004 FA50   81 53                        CMPA  #'S'      ; 'S' is string invoer  2005 FA52   26 0A        FA5E            BNE   EDIT4  2006 FA54   86 3E                        LDA   #'>'  2007 FA56   BD FDC1                      JSR   OUTCHSP  2008 FA59   BD FAEC                      JSR   KEYIN10   ; Zet max 64 tekens in memory  2009 FA5C   20 C1        FA1F            BRA   EDIT2     ; Opnieuw bij 64 of CR  2010  2011 FA5E   81 20              EDIT4     CMPA  #Space  2012 FA60   27 10        FA72            BEQ   EDIT7     ; Spatie is vorige  2013 FA62   81 52                        CMPA  #'R'  2014 FA64   27 36        FA9C            BEQ   EDIT8     ; 'R' 8 bits  offset  2015 FA66   81 4C                        CMPA  #'L'  2016 FA68   27 5A        FAC4            BEQ   EDIT9     ; 'L' 16 bits offset  2017 FA6A   81 25                        CMPA  #'%'  2018 FA6C   27 23        FA91            BEQ   EDIT10    ; '%' Binair display en invoer  2019 FA6E   30 01              EDIT5     INX             ; CR is volgende entry  2020 FA70   20 AD        FA1F            BRA   EDIT2  2021 FA72   30 1F              EDIT7     DEX             ; Spatie is vorige entry  2022 FA74   20 A9        FA1F  EDIT7A    BRA   EDIT2            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  38           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     2023                            PAG  2024 FA76   1F 89              EDITBIN   TFR   A,B  2025 FA78   BD FE04                      JSR   OUTBBIN  ; Display binair  2026 FA7B   86 25                        LDA   #'%'  2027 FA7D   BD FD90            EB10      JSR   CHAROUT  2028 FA80   BD FD3B                      JSR   GETBBIN  ; Edit binair  2029 FA83   34 01                        PSHS  CC       ; Save escape bit  2030 FA85   BD FE87                      JSR   OUTSP  2031 FA88   1F 98                        TFR   B,A      ; Resutaat in A  2032 FA8A   BD FDB0                      JSR   OUT2HA   ; Display in hex  2033 FA8D   1F 98                        TFR   B,A      ; Restore resutaat,  2034 FA8F   35 81                        PULS  CC,PC    ; escape bit en return  2035                           *  2036                           *** Display en edit in binair  2037                           *  2038 FA91   BD F956            EDIT10    JSR   GETMEM  2039 FA94   30 1F                        LEAX  -1,X  2040 FA96   8D DE        FA76            BSR   EDITBIN  2041 FA98   25 DA        FA74            BCS   EDIT7A   ; Escape geen vervanging  2042 FA9A   20 A2        FA3E  XEDIT2A   BRA   EDIT2A   ; Vervang waarde  2043                           *  2044                           *** Bereken 8 bits offset  2045                           *  2046 FA9C   8D 3D        FADB  EDIT8     BSR   OUTCHDP  2047 FA9E   34 10                        PSHS  X        ; Zet current adres op stack  2048 FAA0   BD FB7C                      JSR   GETWORD  ; Enter doel adres  2049 FAA3   30 1F                        LEAX  -1,X  2050 FAA5   1F 10                        TFR   X,D      ; Bereken offset  2051 FAA7   A3 E4                        SUBD  ,S  2052 FAA9   1E 89                        EXG   A,B  2053 FAAB   35 10                        PULS  X  2054 FAAD   34 02                        PSHS  A  2055 FAAF   49                           ROLA  2056 FAB0   C9 00                        ADCB  #0       ; Binnen 8 bit bereik ?  2057 FAB2   35 02                        PULS  A  2058 FAB4   27 2D        FAE3            BEQ   EDIT8B   ; Ja  2059 FAB6   BD FDC5                      JSR   OUTSPQB  ; NOK ? Piep  2060 FAB9   20 B9        FA74  XEDIT2    BRA   EDIT7A  2061                           *  2062                           *** PUTBYTE: Schrijf via vector  2063                           *  2064  2065 FABB   6E 9F 9F78         PUTMEM    JMP   [VECTPUTM]  2066 FABF   A7 84              PUTMDEF   STA   ,X      ; Zet in memory  2067 FAC1   A1 84                        CMPA  ,X      ; en compare  2068 FAC3   39                           RTS  2069                           *  2070                           *** Bereken 16 bits offset  2071                           *  2072 FAC4   8D 15        FADB  EDIT9     BSR   OUTCHDP  2073 FAC6   34 10                        PSHS  X        ; Zet current adres op stack  2074 FAC8   BD FB7C                      JSR   GETWORD  ; Enter doel adres  2075 FACB   30 1E                        LEAX  -2,X  2076 FACD   1F 10                        TFR   X,D      ; Bereken offset  2077 FACF   A3 E4                        SUBD  ,S  2078 FAD1   35 10                        PULS  X  2079 FAD3   8D E6        FABB            BSR   PUTMEM   ; A in memory  2080 FAD5   30 01                        LEAX  1,X  2081 FAD7   1F 98                        TFR   B,A  2082 FAD9   20 08        FAE3            BRA   EDIT8B   ; B in memory en return  2083  2084 FADB   BD FD90            OUTCHDP   JSR   CHAROUT  2085 FADE   86 3A                        LDA   #':'  2086 FAE0   7E FE85                      JMP   CHOUTSP  2087  2088 FAE3   8D D6        FABB  EDIT8B    BSR   PUTMEM  2089 FAE5   30 01                        LEAX  1,X  2090 FAE7   20 D0        FAB9            BRA   XEDIT2            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  39           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     2091                            PAG  2092                           ; ********************************************  2093                           ;DN KEYIN  2094                           ;D  Edit ASCII Buffer  2095                           ;D  In:  X  Adres buffer  2096                           ;D       B  Max aantal tekens  2097                           ;D  Uit: B  Aantal tekens  2098                            ; ********************************************  2099 FAE9   8E 9940            KEYINSYS  LDX   #SYSBUF  2100 FAEC   C6 40              KEYIN10   LDB   #64  2101 FAEE   34 04              KEYIN     PSHS  B         ; Plaats voor character teller  2102 FAF0   4F                 KEY0      CLRA  2103 FAF1   A7 E4                        STA   ,S        ; Init character teller  2104 FAF3   BD FCE3            KEY1      JSR   CHARIN  2105 FAF6   81 0DA                        CMPA  #CR  2106 FAF8   27 2A        FB24            BEQ   KEY8  2107 FAFA   81 1B              KEY2      CMPA  #Escape  2108 FAFC   26 04        FB02            BNE   KEY3  2109 FAFE   1A 01                        SEC  2110 FB00   20 22        FB24            BRA   KEY8  2111  2112 FB02   81 08              KEY3      CMPA  #BS  2113 FB04   26 0DA        FB13            BNE   KEY4  2114 FB06   A6 E4                        LDA   ,S        ; Chars in buffer  2115 FB08   27 E9        FAF3            BEQ   KEY1      ; Geen, negeer backspace  2116 FB0A   BD FBCD                      JSR   WISCHAR   ; Wis teken op scherm  2117 FB0DA   6A E4                        DEC   ,S        ; Cursor pos terug  2118 FB0F   30 1F                        DEX  2119 FB11   20 E0        FAF3            BRA   KEY1  2120  2121 FB13   81 20              KEY4      CMPA  #$20  2122 FB15   25 DC        FAF3            BLO   KEY1      ; Skip CChars  2123  2124 FB17   BD FD90                      JSR   CHAROUT   ; Zet op scherm  2125 FB1A   A7 80                        STA   ,X+       ; en in buffer  2126 FB1C   6C E4                        INC   ,S        ; aantal tekens verhogen  2127 FB1E   E1 E4                        CMPB  ,S        ; Char teller vergelijken met max char  2128 FB20   26 D1        FAF3            BNE   KEY1      ; Past nog  2129  2130 FB22   1C FE                        CLC  2131 FB24   35 04              KEY8      PULS  B         ; B: Aantal characters  2132 FB26   39                 KEY9      RTS            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  40           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     2133                            PAG  2134                           *  2135                           ** ALS P2 < P1, P2=$FFFF  2136                           *  2137 FB27   8D 14        FB3D  GET2SEQ   BSR   GET2PARM  2138 FB29   AC 42                        CMPX  2,U     ; Vergelijk eerste met tweede parm  2139 FB2B   23 F9        FB26            BLS   KEY9    ; P1 < P2 IS OK  2140 FB2D   34 06              PARM2HV   PSHS  D  2141 FB2F   CC FFFF                      LDD   #$FFFF  ; anders tot einde  2142 FB32   FD 9F22                      STD   CONTRBLK+2  2143 FB35   35 86                        PULS  D,PC  2144                           *  2145                           *** Laad controlblock met 1,2 of 3 16b parameter  2146                           *  2147 FB37   86 01              GET1PARM  LDA   #1  2148 FB39   20 08        FB43            BRA   GETPARM  2149  2150 FB3B   8D F0        FB2D  SEAGET2   BSR   PARM2HV    ; Default tot einde  2151  2152 FB3D   86 02              GET2PARM  LDA   #2  2153 FB3F   20 02        FB43            BRA   GETPARM  2154  2155 FB41   86 03              GET3PARM  LDA   #3  2156  2157                           *  Display en verander parameter/vector blok  2158                           *  U: Pointer in parameter blok  2159                           *  A: Aantal 16b parms (max 8)  2160                           *  Bij ander controlblok gebruik PGUSR  2161                           *  waarbij U wijst naar controlblok  2162 FB43   CE 9F20            GETPARM   LDU   #CONTRBLK  2163 FB46   34 02              PGUSR     PSHS  A        ; Aantal op stack  2164 FB48   86 30                        LDA   #'0'     ; Volgnummer  2165 FB4A   34 02                        PSHS  A        ;  op stack  2166 FB4C   6C E4              GP1       INC   ,S  2167 FB4E   A6 E4                        LDA   ,S  2168 FB50   BD FE77                      JSR   PROMPT  2169 FB53   EC C4                        LDD   ,U       ; Waarde in CB  2170 FB55   BD FD9E                      JSR   OUTDHS   ; Display als default  2171 FB58   8D 22        FB7C            BSR   GETWORD  ; Lees woord  2172 FB5A   81 01                        CMPA  #1       ; Spatie,  2173 FB5C   27         FB6A            BEQ   GP5      ; voortiJdig einde  2174 FB5E   81 02                        CMPA  #2       ; CR zonder invoer  2175 FB60   27 02        FB64            BEQ   GP2      ; Gebruik default  2176 FB62   AF C4                        STX   ,U       ; Gebruik ingeven waarde  2177 FB64   33 42              GP2       LEAU  2,U      ; Volgende entry  2178 FB66   6A 61                        DEC   1,S      ; Decrement aantal  2179 FB68   26 E2        FB4C            BNE   GP1      ; en volgende entry  2180 FB6A   BD F9A3            GP5       JSR   ACK      ; Wacht op toestemming  2181 FB6D   32 62                        LEAS  2,S      ; Restore stack  2182 FB6F   CE 9F20                      LDU   #CONTRBLK  2183 FB72   AE C4                        LDX   ,U       ; X is eerste parameter  2184 FB74   39                 GP9       RTS            ; CR is OK  2185                           *  2186                           *** GOTO Commando  2187                           *  2188 FB75   8D C0        FB37  GOTO      BSR   GET1PARM  2189 FB77   BF 9FB2                      STX   ZVECTOR  2190 FB7A   6E 84                        JMP   ,X            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  41           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     2191                            PAG  2192                           *  2193                           ****  Lees word in X  2194                           *  Einde bij 4 geldige hex tekens  2195                           *  CR is einde (ook bij minder 4 chars)  2196                           *  Space einde (Soft escape)  2197                           *       ; Escape is einde  2198                           *  A=2 : CR zonder invoer  2199                           *  A=1 : Einde door spatie  2200                           *  A=0 : Woord in X  2201                           *  2202 FB7C   4F                 GETWORD   CLRA             ; Default zonder eerste character  2203 FB7D   34 04              GETWORDP  PSHS  B  2204 FB7F   8E 0000                      LDX   #0  2205 FB82   C6 04                        LDB   #4         ; Max aantal cijfers  2206 FB84   4D                           TSTA  2207 FB85   26 26        FBAD            BNE   INW06      ; Er is een previous character  2208  2209 FB87   BD FD26            INW01     JSR   CHINUP     ; Escape is einde  2210  2211 FB8A   81 08              INW03     CMPA  #BS        ; Backspace  2212 FB8C   26 0B        FB99            BNE   INW05      ; Nee  2213 FB8E   C1 04                        CMPB  #4         ; Is er invoer  2214 FB90   27 F5        FB87            BEQ   INW01      ; Nee, begin opnieuw  2215  2216 FB92   8D 39        FBCD  INW04     BSR   WISCHAR    ; Wis teken op scherm  2217 FB94   8D 3E        FBD4            BSR   DIGRIGHT   ; Schuif resultaat 4 bits terug,  2218 FB96   5C                           INCB             ; verhoog teken teller  2219 FB97   20 EE        FB87            BRA   INW01      ; en verwerk nieuwe invoer  2220  2221 FB99   81 0DA              INW05     CMPA  #CR        ; CR  2222 FB9B   26 08        FBA5            BNE   INW05A  2223 FB9D   C1 04                        CMPB  #4         ; Einde  2224 FB9F   26 29        FBCA            BNE   INW07      ; Return wat er is  2225 FBA1   86 02                        LDA   #2         ; Indiceer geen invoer  2226 FBA3   20 26        FBCB  INW05B    BRA   INW08      ; Return  2227  2228 FBA5   81 20              INW05A    CMPA  #SPACE     ; Spatie  2229 FBA7   26 04        FBAD            BNE   INW06  2230 FBA9   86 01                        LDA   #1         ; Einde door spatie  2231 FBAB   20 F6        FBA3            BRA   INW05B     ; Return 0000  2232  2233 FBAD   BD FCEE            INW06     JSR   TESTHEX    ; 00 - 0F  2234 FBB0   25 D5        FB87            BCS   INW01      ; Fout, Opnieuw  2235 FBB2   34 02                        PSHS  A  2236 FBB4   BD FD86                      JSR   OUTHR      ; Echo hex character  2237 FBB7   35 02                        PULS  A  2238 FBB9   8D 29        FBE4            BSR   DIGLEFT    ; Schuif resultaat 4 bits naar links  2239 FBBB   34 04                        PSHS  B          ; Save digit teller  2240 FBBD   34 02                        PSHS  A          ; Laatste cijfer op stack  2241 FBBF   1E 01                        EXG   D,X        ; Word in D  2242 FBC1   EA E0                        ORB   ,S+        ; invoegen in resultaat  2243 FBC3   1E 01                        EXG   D,X        ; Word  weer in X  2244 FBC5   35 04                        PULS  B          ; Digit teller  2245 FBC7   5A                           DECB             ; volgend cijfer bij < 4  2246 FBC8   26 BD        FB87            BNE   INW01      ; anders klaar  2247 FBCA   4F                 INW07     CLRA             ; Woord in X  2248 FBCB   35 84              INW08     PULS  PC,B  2249            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  42           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     2250                            PAG  2251                           *  2252                           ***  Wis character op terminal op cursor positie  2253                           *  2254 FBCD   BD FE44            WISCHAR   JSR   PRTMSG  2255 FBD0   08 20 88                     FCB   BS,Space,BSH  2256 FBD3   39                           RTS  2257                           *  2258                           ***  Schuif word in X 1 digit naar rechts  2259                           *  2260 FBD4   34 06              DIGRIGHT  PSHS  D  2261 FBD6   1E 01                        EXG   D,X      ; Word in D  2262 FBD8   44                           LSRA  2263 FBD9   56                           RORB  2264 FBDA   44                           LSRA  2265 FBDB   56                           RORB  2266 FBDC   44                           LSRA  2267 FBDD   56                           RORB  2268 FBDE   44                           LSRA  2269 FBDF   56                           RORB  2270 FBE0   1E 01              DR10      EXG   D,X      ; Word weer in X  2271 FBE2   35 86                        PULS  PC,D  2272                           *  2273                           ***  Schuif word in X 1 digit naar links  2274                           *  2275 FBE4   34 06              DIGLEFT   PSHS  D  2276 FBE6   1E 01                        EXG   D,X      ; Word in D  2277 FBE8   58                           LSLB  2278 FBE9   49                           ROLA  2279 FBEA   58                           LSLB  2280 FBEB   49                           ROLA  2281 FBEC   58                           LSLB  2282 FBED   49                           ROLA  2283 FBEE   58                           LSLB  2284 FBEF   49                           ROLA  2285 FBF0   20 EE        FBE0            BRA   DR10            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  43           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     2286                            PAG  2287                           *  2288                           ***** Laad MIKBUG TAPE  2289                           *  2290 FBF2   BD FE44            LOAD      JSR   PRTMSG    ; Start message  2291 FBF5   4C 6F 61 64                  FCC   'Load'  2292 FBF9   8D                           FCB   CRH  2293 FBFA   34 46              LOAD00    PSHS  D,U  2294 FBFC   32 7E                        LEAS  -2,S      ; Count en error flags  2295 FBFE   1F 43                        TFR   S,U       ; op stack  2296 FC00   6F 40                        CLR   0,U       ; Clear error flags  2297 FC02   86 40              LOAD0     LDA   #64  2298 FC04   A7 41                        STA   1,U       ; '>' teller  2299 FC06   86 3E              LOAD1     LDA   #'>'  2300 FC08   BD FD90                      JSR   CHAROUT   ; Display voortgangs indicator  2301 FC0B   6A 41                        DEC   1,U       ; Max 64  2302 FC0DA   26 0A        FC19            BNE   LOAD2  2303 FC0F   BD FDED                      JSR   DOCRLF    ; Daarna nieuwe regel  2304 FC12   BD FE87                      JSR   OUTSP  2305 FC15   86 40                        LDA   #64  2306 FC17   A7 41                        STA   1,U  2307  2308 FC19   BD FCE3            LOAD2     JSR   CHARIN    ; Input character  2309 FC1C   81 53                        CMPA  #'S'      ; 'S' Start van een record  2310 FC1E   26 F9        FC19            BNE   LOAD2     ; Geen 'S' record probeer opnieuw  2311 FC20   BD FCE3                      JSR   CHARIN    ; Character na 'S' (0,1,9)  2312 FC23   81 31                        CMPA  #'1'      ; '1' is Data record  2313 FC25   27 13        FC3A            BEQ   LOAD05    ; Verwerk  2314 FC27   81 39                        CMPA  #'9'      ; '9' is einde Hex-file  2315 FC29   27 53        FC7E            BEQ   LOAD30    ; Dus afwerken  2316 FC2B   81 30                        CMPA  #'0'      ; '0' is Label record  2317 FC2D   27 06        FC35            BEQ   LOAD4     ; Verwerk label  2318 FC2F   AD 9F 9FA0                   JSR   [TESTSX]  ; Test overige Sx records  2319 FC33   20 CD        FC02            BRA   LOAD0     ; Volgend record  2320  2321 FC35   BD FD06            LOAD4     JSR   LABEL     ; Lees en dispay S0 Label record  2322 FC38   20 C8        FC02            BRA   LOAD0     ; Volgend record  2323  2324 FC3A   BD FCC5            LOAD05    JSR   BYTE      ; Byte teller  2325 FC3D   34 02                        PSHS  A         ; op Stack  2326 FC3F   8D 78        FCB9            BSR   INADRES   ; Destination adres in X  2327 FC41   34 10                        PSHS  X         ; op Stack voor checksum bepaling  2328 FC43   E6 E0                        LDB   ,S+       ; MSB adres in B voor checksum bepalin >  2329 FC45   EB E0                        ADDB  ,S+       ; LSB adres optellen bij checksum  2330 FC47   34 06                        PSHS  D  2331 FC49   FC 9FDA                      LDD   OFFSET    ; Tel offset op bij adres  2332 FC4C   30 8B                        LEAX  D,X       ; van hexfile  2333 FC4E   35 06                        PULS  D  2334 FC50   EB E4                        ADDB  ,S        ; Byte optellen bij checksum  2335 FC52   6A E4                        DEC   ,S        ; Bytecount verminderen  2336 FC54   6A E4                        DEC   ,S        ; met lengte adres  2337 FC56   34 04              LOAD10    PSHS  B         ; Byte count op stack  2338 FC58   8D 6B        FCC5            BSR   BYTE      ; Lees databyte (2 Hex chars)  2339 FC5A   35 04                        PULS  B         ; Checksum naar B  2340 FC5C   34 02                        PSHS  A         ; Databyte via stack  2341 FC5E   EB E0                        ADDB  ,S+       ; Optellen bij checksum en verwijder d >  2342 FC60   6A E4                        DEC   ,S        ; Verlaag Bytecount  2343 FC62   27 0E        FC72            BEQ   LOAD16    ; Alle bytes verwerkt, Test checksum  2344 FC64   AD 9F 9FE4                   JSR   [PUTBLOAD]  ; Zet databyte in geheugen  2345 FC68   27 EC        FC56            BEQ   LOAD10    ; Gelijk, volgend data byte  2346 FC6A   A6 C4                        LDA   ,U  2347 FC6C   8A 01                        ORA   #$01      ; Set Memory  error bit  2348 FC6E   A7 C4                        STA   ,U  2349 FC70   20 E4        FC56            BRA   LOAD10    ; en volgend data byte            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  44           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     2350                            PAG  2351 FC72   35 02              LOAD16    PULS  A         ; Corrigeer stack, verwijder byte coun >  2352                                                     ; Checksum OK?  2353 FC74   27 90        FC06            BEQ   LOAD1     ; Ja volgende regel  2354 FC76   A6 C4                        LDA   ,U        ; Set checksum error bit  2355 FC78   8A 02                        ORA   #$02  2356 FC7A   A7 C4                        STA   ,U  2357 FC7C   20 88        FC06            BRA   LOAD1     ; Volgende regel  2358                           *  2359                           *** Verwerk einde  2360                           *                         ; Verwerk S9 record (start adres)  2361 FC7E   8D 45        FCC5  LOAD30    BSR   BYTE      ; Byte teller  2362 FC80   81 03                        CMPA  #3        ; Is er een start adres  ?  2363 FC82   26 0A        FC8E            BNE   LOAD35    ; Nee  2364 FC84   8D 33        FCB9            BSR   INADRES   ; Start adres in X  2365 FC86   8C 0000                      CMPX  #0        ; 0000 is geen start adres  2366 FC89   27 03        FC8E            BEQ   LOAD35    ; Dan aleen LOAD  2367 FC8B   BF 9FB6                      STX   VECTRUN   ; Set RUN vector  2368  2369 FC8E   86 3E              LOAD35    LDA   #'>'  2370 FC90   BD FD90                      JSR   CHAROUT   ; Meldt laatste record ontvangen  2371 FC93   E6 C4                        LDB   ,U        ; Returncode  2372 FC95   26 04        FC9B            BNE   LOAD40  2373 FC97   8D 08        FCA1            BSR   PRTOK     ; 0 is OK  2374 FC99   20 02        FC9D            BRA   LOAD50  2375 FC9B   8D 10        FCAD  LOAD40    BSR   PRERROR   ; Display returncode  2376 FC9D   32 62              LOAD50    LEAS  2,S  2377 FC9F   35 C6                        PULS  D,U,PC  2378                           *  2379                           *** Print OK  2380                           *  2381 FCA1   BD FE44            PRTOK     JSR   PRTMSG  ; Er zijn geen verschillen  2382 FCA4   0DA                           FCB   CR  2383 FCA5   4F                           FCC   'O'     ; OK  2384 FCA6   CB                           FCB    $4B+HiBit  2385 FCA7   39                           RTS  2386                           *  2387                           * Put data in memory  2388                           *  2389 FCA8   A7 84              PUTLOAD   STA   ,X  2390 FCAA   A1 80                        CMPA  ,X+  2391 FCAC   39                           RTS  2392                           *  2393                           *** Print RC=[B]  2394                           *  2395 FCAD   BD FE44            PRERROR   JSR   PRTMSG  2396 FCB0   0DA                           FCB   CR  2397 FCB1   52 43                        FCC  'RC'      ; RC=  2398 FCB3   BD                           FCB   $3D+HiBit  2399 FCB4   1F 98                        TFR   B,A  2400 FCB6   7E FDA8                      JMP   OUT2HAS  2401                           *  2402                           *** Input adres (4 hex chars)  2403                           *  2404 FCB9   8D 0A        FCC5  INADRES   BSR   BYTE     ; Input byte (2 hex chars)  2405 FCBB   1F 01                        TFR   D,X      ; naar X (high)  2406 FCBD   8D 06        FCC5            BSR   BYTE     ; Input byte (2 hex chars)  2407 FCBF   34 10                        PSHS  X        ; Gebruik stack als werkveld  2408 FCC1   A7 61                        STA   1,S      ; Tweede byte naar X (low)  2409 FCC3   35 90                        PULS  PC,X     ; Adres in X en return  2410                           *  2411                           *** Input byte (2 hex chars)  2412                           *  2413 FCC5   8D 0B        FCD2  BYTE      BSR   INHEX    ; Get hex links  2414 FCC7   48                           ASLA  2415 FCC8   48                           ASLA  2416 FCC9   48                           ASLA           ; Schuif naar linker nibble  2417 FCCA   48                           ASLA  2418 FCCB   34 02                        PSHS  A        ; Zet Hex (links) op stack  2419 FCCD   8D 03        FCD2            BSR   INHEX    ; Get hex rechts  2420 FCCF   AB E0                        ADDA  ,S+      ; Voeg links & rechts samen  2421 FCD1   39                 LOAD99    RTS            ; Hex in A            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  45           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     2422                            PAG  2423                           *  2424                           *** Input hex char  2425                           *  2426 FCD2   8D 0F        FCE3  INHEX     BSR   CHARIN    ; Lees char (nibble)  2427 FCD4   8D 5A        FD30            BSR   UPPER  2428 FCD6   8D 16        FCEE            BSR   TESTHEX  2429 FCD8   24 08        FCE2            BCC   INHX9     ; Hex is OK  2430 FCDA   A6 C4                        LDA   ,U  2431 FCDC   8A 04                        ORA   #$04      ; Set hex error bit  2432 FCDE   A7 C4                        STA   ,U  2433 FCE0   20 F0        FCD2            BRA   INHEX  2434 FCE2   39                 INHX9     RTS  2435                           *  2436                           *** Input character  2437                           *  2438 FCE3   BD FE40            CHARIN    JSR   CHARGET  2439 FCE6   26 FA        FCE2            BNE   INHX9  2440 FCE8   AD 9F 9FB8         CI10      JSR   [VTIMESHR] ; Voer tijdens het wachten  2441 FCEC   20 F5        FCE3            BRA   CHARIN     ; de timeshare uit  2442                           *  2443                           *** Test of char 0..9 A..F  2444                           *  2445 FCEE   80 30              TESTHEX   SUBA  #'0'  2446 FCF0   2B 11        FD03            BMI   HEXFOUT  ; <  0, geen hex  2447 FCF2   81 09                        CMPA  #9  2448 FCF4   23 0A        FD00            BLS   HEXOK    ; =< 9, hex OK  2449 FCF6   80 07                        SUBA  #7       ; Converteer A - F  2450 FCF8   81 09                        CMPA  #9  2451 FCFA   23 07        FD03            BLS   HEXFOUT  ; < 'A', Geen hex  2452 FCFC   81 0F                        CMPA  #$0F  2453 FCFE   22 03        FD03            BHI   HEXFOUT  ; > 'F', Geen hex  2454 FD00   1C FE              HEXOK     CLC  2455 FD02   39                           RTS            ; Hex OK  2456 FD03   1A 01              HEXFOUT   SEC  2457 FD05   39                           RTS            ; Hex Fout  2458                           *  2459                           *** Lees en display S0 Label  2460                           *  2461 FD06   8E 9940            LABEL     LDX   #SYSBUF  ; Adres label buffer  2462 FD09   C6 3F                        LDB   #63      ; Max 63 + CR  2463 FD0B   8D D6        FCE3  L10       BSR   CHARIN   ; Lees teken  2464 FD0DA   81 0DA                        CMPA  #CR      ; Einde label  2465 FD0F   27 0B        FD1C            BEQ   L30  2466 FD11   A7 80                        STA   ,X+      ; in buffer  2467 FD13   5A                           DECB           ; Buffer vol ?  2468 FD14   26 F5        FD0B            BNE   L10      ; Nee  2469  2470 FD16   8D CB        FCE3  L20       BSR   CHARIN   ; Skip rest record  2471 FD18   81 0DA                        CMPA  #CR      ; bij meer dan  2472 FD1A   26 FA        FD16            BNE   L20      ; 64 tekens  2473  2474 FD1C   86 8D              L30       LDA   #CRH     ; Afsluiten buffer  2475 FD1E   A7 84                        STA   ,X  2476 FD20   8E 9940                      LDX   #SYSBUF  ; Adres label buffer  2477 FD23   7E FE1D                      JMP   NLPDATA  ; Label op nieuw regel  2478  2479                           *  2480                           *** Invoer van hoofdletter met escape  2481                           *  2482 FD26   8D BB        FCE3  CHINUP    BSR   CHARIN  2483 FD28   81 1B                        CMPA  #Escape  2484 FD2A   26 04        FD30            BNE   UPPER  2485 FD2C   6E 9F 9FE0                   JMP   [ESCVECT]            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  46           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     2486                            PAG  2487                           *  2488                           *** Converteer character in A naar uppercase  2489                           *  2490 FD30   81 61              UPPER     CMPA  #'a'  2491 FD32   25 06        FD3A            BCS   UP9          ; Geen conversie bij < 'a'  2492 FD34   81 7A                        CMPA  #'z'  2493 FD36   22 02        FD3A            BHI   UP9          ; Geen conversie bij > 'z'  2494 FD38   84 DF                        ANDA  #%11011111   ; Wis lower case bit  2495 FD3A   39                 UP9       RTS  2496                           *  2497                           *** GETBBIN Lees binair in B  2498                           *  2499 FD3B   34 02              GETBBIN   PSHS  A  2500 FD3D   C6 08                        LDB   #8       ; 8 bits per byte  2501 FD3F   34 04                        PSHS  B        ; Teller op stack  2502 FD41   5F                           CLRB           ; Default resultaat is 0  2503  2504 FD42   8D 9F        FCE3  GBB10     BSR   CHARIN   ; Input '0', '1', Escape, BS of CR  2505 FD44   34 02                        PSHS  A  2506 FD46   A6 61                        LDA   1,S      ; Bit teller  2507 FD48   35 02                        PULS  A        ; zijn er al 8 bits binnen ?  2508 FD4A   27 10        FD5C            BEQ   GBB30    ; bevestigen, ontkennen of corrigeren  2509  2510 FD4C   81 30              GBB20     CMPA  #'0'     ; Invoer '0', of '1'  2511 FD4E   27 04        FD54            BEQ   GBB25  2512 FD50   81 31                        CMPA  #'1'  2513 FD52   26 08        FD5C            BNE   GBB30  2514  2515 FD54   8D 3A        FD90  GBB25     BSR   CHAROUT  ; Echo '0' of '1'  2516 FD56   46                           RORA           ; Low bit in carry  2517 FD57   59                           ROLB           ; Schuif in byte  2518 FD58   6A E4                        DEC   ,S       ; Volgend bit  2519 FD5A   20 E6        FD42            BRA   GBB10  2520  2521 FD5C   81 08              GBB30     CMPA  #BS  2522 FD5E   26 10        FD70            BNE   GBB35  2523 FD60   A6 E4                        LDA   ,S       ; Bit teller  2524 FD62   81 08                        CMPA  #8       ; eerste heeft geen voorganger  2525 FD64   27 DC        FD42            BEQ   GBB10    ; dus opnieuw  2526  2527 FD66   1C FE                        CLC            ; Verwijder vorig bit  2528 FD68   56                           RORB  2529 FD69   BD FBCD                      JSR   WISCHAR  ; Verwijder vorig character  2530 FD6C   6C E4                        INC   ,S       ; Vorig bit  2531 FD6E   20 D2        FD42            BRA   GBB10    ; en opnieuw  2532  2533 FD70   81 0DA              GBB35     CMPA  #CR      ; CR is einde, gebruik wat er is  2534 FD72   27 08        FD7C            BEQ   GBB40  2535 FD74   81 1B                        CMPA  #Escape  ; Escape is einde  2536 FD76   26 CA        FD42            BNE   GBB10    ; Negeer rest  2537 FD78   1A 01                        SEC            ; met C=1 (geen invoer)  2538 FD7A   20 02        FD7E            BRA   GBB45  2539  2540 FD7C   1C FE              GBB40     CLC            ; C=0 is OK  2541 FD7E   32 61              GBB45     INS            ; Verwijder teller  2542 FD80   35 82                        PULS  A,PC     ; Restore A en return            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  47           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     2543                            PAG  2544                           *  2545                           *** Output routines  2546                           *  2547 FD82   44                 OUTHL     LSRA           ; Out hex left  2548 FD83   44                           LSRA  2549 FD84   44                           LSRA  2550 FD85   44                           LSRA  2551  2552 FD86   84 0F              OUTHR     ANDA  #$0F     ; Out hex right  2553 FD88   8B 30                        ADDA  #'0'  2554 FD8A   81 39                        CMPA  #'9'  2555 FD8C   23 02        FD90            BLS   CHAROUT  2556 FD8E   8B 07                        ADDA  #7  2557 FD90   6E 9F 9FEA         CHAROUT   JMP   [VCHAROUT]  2558  2559 FD94   8D 02        FD98  PUTDAS    BSR   PUTDA    ; Print D als 2 ASCII  2560 FD96   20 24        FDBC            BRA   OUTS     ; en spatie  2561  2562 FD98   8D F6        FD90  PUTDA     BSR   CHAROUT  ; Print D als 2 ASCII  2563 FD9A   1F 98                        TFR   B,A  2564 FD9C   20 F2        FD90            BRA   CHAROUT  2565  2566 FD9E   8D 02        FDA2  OUTDHS    BSR   OUTDH    ; Print D als 4 hex  2567 FDA0   20 1A        FDBC            BRA   OUTS     ; en spatie  2568  2569 FDA2   8D         FDB0  OUTDH     BSR   OUT2HA   ; Print D als 4 hex  2570 FDA4   1F 98                        TFR   B,A  2571 FDA6   20 08        FDB0            BRA   OUT2HA  2572  2573 FDA8   8D 06        FDB0  OUT2HAS   BSR   OUT2HA   ; Print A als 2 hex  2574 FDAA   20 10        FDBC            BRA   OUTS     ; en spatie  2575  2576 FDAC   8D 00        FDAE  OUT4HX    BSR   OUT2HX   ; Print word @X als 4 hex chars  2577 FDAE   A6 80              OUT2HX    LDA   ,X+      ; Print byte @X als 2 hex chars  2578 FDB0   34 02              OUT2HA    PSHS  A        ; Print A als 2 hex  2579 FDB2   8D CE        FD82            BSR   OUTHL    ; Print links  2580 FDB4   35 02                        PULS  A  2581 FDB6   20 CE        FD86            BRA   OUTHR    ; Print rechts  2582                           *                        ; en return  2583  2584 FDB8   8D F4        FDAE  OUT4HS    BSR   OUT2HX   ; Print 4 byte in hex  2585 FDBA   8D F2        FDAE  OUT2HS    BSR   OUT2HX   ; Print 2 byte in hex  2586 FDBC   7E FE87            OUTS      JMP   OUTSP    ; en spatie  2587  2588 FDBF   86 3A              PCOLSP    LDA   #':'  2589 FDC1   8D CD        FD90  OUTCHSP   BSR   CHAROUT  2590 FDC3   20 F7        FDBC            BRA   OUTS  2591  2592 FDC5   86 07              OUTSPQB   LDA   #7  2593 FDC7   8D C7        FD90            BSR   CHAROUT  2594  2595 FDC9   8D F1        FDBC  OUTSPQ    BSR   OUTS     ; Print ' ? '  2596 FDCB   86 3F              OUTQ      LDA   #'?'     ; Print ? en spatie  2597 FDCD   20 F2        FDC1            BRA   OUTCHSP  2598  2599 FDCF   8D 50        FE21  OUTXNL    BSR   NEWLINE  2600 FDD1   34 12              OUTXS     PSHS  X,A  2601 FDD3   8D 04        FDD9            BSR   OUTX  2602 FDD5   8D E5        FDBC            BSR   OUTS  2603 FDD7   35 92                        PULS  PC,X,A  2604  2605 FDD9   34 12              OUTX      PSHS  X,A  2606 FDDB   30 61                        LEAX  1,S  2607 FDDD   8D CD        FDAC            BSR   OUT4HX  2608 FDDF   35 92                        PULS  PC,X,A            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  48           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     2609                            PAG  2610 FDE1   8D 3E        FE21  OUTXFDP   BSR   NEWLINE  2611 FDE3   34 12              OUTXDP    PSHS  X,A  2612 FDE5   30 61                        LEAX  1,S  2613 FDE7   8D C3        FDAC            BSR   OUT4HX  2614 FDE9   8D D4        FDBF            BSR   PCOLSP  2615 FDEB   35 92                        PULS  PC,X,A  2616  2617 FDED   86 0DA              DOCRLF    LDA   #CR  2618 FDEF   8D 02        FDF3            BSR   YCHOUT  2619 FDF1   86 0A                        LDA   #LF  2620 FDF3   20 9B        FD90  YCHOUT    BRA   CHAROUT  2621                           *  2622                           *** Wis het scherm  2623                           *  2624 FDF5   F6 9FC5            CLRSCRN   LDB   LINESCRN  2625 FDF8   27 06        FE00            BEQ   FORMFEED  2626 FDFA   8D F1        FDED  CS10      BSR   DOCRLF  2627 FDFC   5A                           DECB  2628 FDFD   26 FB        FDFA            BNE   CS10  2629 FDFF   39                           RTS  2630  2631 FE00   86               FORMFEED  LDA   #FF  2632 FE02   20 EF        FDF3            BRA   YCHOUT  2633                           *  2634                           *** Print B binair ' 1010 0011 '  2635                           *  2636 FE04   8D 04        FE0A  OUTBBIN   BSR   OB10     ; High nibble  2637 FE06   8D 02        FE0A            BSR   OB10     ; Low  nibble  2638 FE08   20 7D        FE87            BRA   OUTSP  2639  2640 FE0A   8D 7B        FE87  OB10      BSR   OUTSP  2641 FE   86 04                        LDA   #4  2642 FE0E   34 02                        PSHS  A  2643 FE10   4F                 OB20      CLRA  2644 FE11   58                           ASLB  2645 FE12   49                           ROLA  2646 FE13   8A 30                        ORA   #'0'  2647 FE15   8D DC        FDF3            BSR   YCHOUT  2648 FE17   6A E4                        DEC   ,S  2649 FE19   26 F5        FE10            BNE   OB20  2650 FE1B   35 82                        PULS  PC,A  2651                           *  2652                           ***  Print Message op nieuwe regel  2653                           *  2654 FE1D   8D 02        FE21  NLPDATA   BSR   NEWLINE  2655 FE1F   20 32        FE53            BRA   PDATA  2656                           *  2657                           *** NEWLINE  2658                           *   Print CRLF en [LEFT] spaces  2659                           *  2660 FE21   34 06              NEWLINE   PSHS  A,B  2661 FE23   8D C8        FDED            BSR   DOCRLF  2662 FE25   AD 9F 9FD2                   JSR   [CRDELAY] ; Wacht (voor meelezen)  2663 FE29   F6 9FC3            NL20      LDB   SYSCNTRL  ; linker spaties  2664 FE2C   C4 07                        ANDB  #7        ; Maximaal 7  2665 FE2E   27 02        FE32            BEQ   NL30      ; 0 is geen spaties  2666 FE30   8D 5A        FE8C            BSR   OUTBSP  2667                           *** Test op char (wait) of escape  2668 FE32   8D         FE40  NL30      BSR   CHARGET  2669 FE34   27 08        FE3E            BEQ   NL90      ; Geen char in, Doorgaan  2670 FE36   8D 5C        FE94            BSR   XCHARIN  2671 FE38   81 20                        CMPA  #$20      ; Spatie Wacht  2672 FE3A   26 02        FE3E            BNE   NL90  2673 FE3C   8D 56        FE94            BSR   XCHARIN  2674 FE3E   35 86              NL90      PULS  A,B,PC  2675  2676 FE40   6E 9F 9FEE         CHARGET   JMP   [VCHARGET]            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  49           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     2677                            PAG  2678                           *  2679                           ***  Print Message (text embedded in code)  2680                           *  2681 FE44   34 10              PRTMSG    PSHS  X  2682 FE46   AE 62                        LDX   2,S      ; Return adres is adres string  2683 FE48   8D 09        FE53            BSR   PDATA    ; Display string  2684 FE4A   AF 62                        STX   2,S      ; X bevat adres na string  2685 FE4C   35 10                        PULS  X        ; en dat is het return adres  2686 FE4E   39                 EINDE     RTS  2687  2688 FE4F   A6 80              PD30      LDA   ,X+      ; Volgend character  2689 FE51   8D 36        FE89  PD40      BSR   XCHOUT   ; Schrijf teken na $7F  2690                           *  2691                           *** Print string @X tot 00, 04 of t/m HiBit  2692                           *  2693 FE53   A6 80              PDATA     LDA   ,X+       ; Volgend character  2694 FE55   27 F7        FE4E            BEQ   EINDE     ; 00 is einde  2695 FE57   2B 16        FE6F            BMI   PD20      ; High bit gezet  2696 FE59   81 04                        CMPA  #EOT      ; 04 is  2697 FE5B   27 F1        FE4E            BEQ   EINDE     ; MIKBUG einde  2698 FE5D   AD 9F F784                   JSR   [PDEXIST] ; Voer extenties uit          ;$1  2699 FE61   25 F0        FE53            BCS   PDATA     ; volgend teken string        ;$1  2700                                                     ; Ga verder met current teken ;$1  2701 FE63   81 7F                        CMPA  #$7F      ;  2702 FE65   27 E8        FE4F            BEQ   PD30      ; print character na $7F  2703 FE67   81 0DA                        CMPA  #$0DA      ; CR  2704 FE69   26 E6        FE51            BNE   PD40      ; Print rest  2705 FE6B   8D B4        FE21  PD10      BSR   NEWLINE   ; CR, LF en left spaces  2706 FE6D   20 E4        FE53            BRA   PDATA     ; en print de nieuwe regel  2707  2708 FE6F   84 7F              PD20      ANDA  #$7F     ; Strip high bit  2709 FE71   81 0DA                        CMPA  #$0DA     ; Test CR  2710 FE73   27 AC        FE21            BEQ   NEWLINE  ; Verwerk CR en klaar  2711 FE75   20 12        FE89            BRA   XCHOUT   ; Print en klaar  2712                           *  2713                           *** Print prompt  <M> _  (M het teken in A)  2714                           *  2715 FE77   34 02              PROMPT    PSHS  A  2716 FE79   8D A6        FE21            BSR   NEWLINE  ; Prompt op een nieuwe regel  2717 FE7B   86 3C                        LDA   #'<'     ; <M> _ (M het teken in A)  2718 FE7D   8D 0A        FE89            BSR   XCHOUT  2719 FE7F   35 02                        PULS  A  2720 FE81   8D 06        FE89            BSR   XCHOUT  2721 FE83   86 3E                        LDA   #'>'  2722                           *  2723                           *** Print character en spatie  2724                           *  2725 FE85   8D 02        FE89  CHOUTSP   BSR   XCHOUT   ; Output char in A en spatie  2726  2727 FE87   86 20              OUTSP     LDA   #Space   ; Output een spatie  2728 FE89   7E FD90            XCHOUT    JMP   CHAROUT  2729  2730 FE8C   86 20              OUTBSP    LDA   #Space    ; Print [B] spaties  2731                     FE8E  OUTBCH    EQU   *  2732 FE8E   8D F9        FE89  OBS10     BSR   XCHOUT    ; Print [B] tekens in A  2733 FE90   5A                           DECB  2734 FE91   26 FB        FE8E            BNE   OBS10  2735 FE93   39                 OBS99     RTS  2736  2737 FE94   7E FD26            XCHARIN   JMP   CHINUP            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  50           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     2738                            PAG  2739                           *  2740                           **** Schrijf de USART  2741                           *  2742 FE97   34 04              SEROUTCH  PSHS  B  2743 FE99   F6 BE01            OS10      LDB   STTREG   ; Transmitter leeg ?  2744 FE9C   C5 01                        BITB  #$01  2745 FE9E   27 F9        FE99            BEQ   OS10     ; Nee, Wacht  2746 FEA0   B7 BE00                      STA   THREG    ; Verstuur byte in A  2747 FEA3   35 84                        PULS  PC,B  2748                           *  2749                           *** Test of er een character binnen is  2750                           *  2751 FEA5   B6 BE01            SERGETCH  LDA   STTREG  2752 FEA8   85 02                        BITA  #$02     ; Ontvang register leeg ?  2753 FEAA   26 06        FEB2            BNE   IS20     ; Nee, lees USART  2754 FEAC   4F                           CLRA           ; Geen char, Return 0  2755 FEAD   39                           RTS            ; BEQ (Z=1) geen char  2756                           *  2757                           **** Lees de USART  2758                           *  2759                     FEAE  SERINCH   EQU   *  2760 FEAE   8D F5        FEA5  IS10      BSR   SERGETCH    ; Ontvang register leeg ?  2761 FEB0   27 FC        FEAE            BEQ   IS10        ; Ja, Wacht  2762 FEB2   B6 BE00            IS20      LDA   RHREG       ; Laad ontvangen byte  2763 FEB5   39                           RTS               ; BNE (Z=0) char binnen  2764  2765                           *  2766                           *** Initieer de USART  2767                           *  2768 FEB6   8E BE00            SERINIT   LDX    #USART          ; Basisadres USART  2769 FEB9   86 08                        LDA    #%0001000  2770 FEBB   A7 03                        STA    CMDREG-USART,X  ; Disable USART  2771 FEBD   A6 03                        LDA    CMDREG-USART,X  ; Reset USART pointers  2772 FEBF   86 4E                        LDA    #MR1            ; Vul USART registers  2773 FEC1   A7 02                        STA    MDREG1-USART,X  2774 FEC3   86 7E                        LDA    #MR2  2775 FEC5   A7 02                        STA    MDREG2-USART,X  2776 FEC7   86 15                        LDA    #CMD  2777 FEC9   A7 03                        STA    CMDREG-USART,X  2778 FECB   84 EF                        ANDA   #%11101111  2779 FECD   A7 03                        STA    CMDREG-USART,X  ; Enable USART  2780 FECF   39                           RTS  2781                           *  2782                           *** Invullen MCL Pointers  2783                           *  2784 FED0   34 56              INITMCL   PSHS  D,X,U  2785 FED2   CE F890                      LDU   #MCLDEF  2786 FED5   8E 9F78                      LDX   #MCLPTRS  2787 FED8   C6 08                        LDB   #WPEND-MCLPTRS  2788 FEDA   20 1A        FEF6            BRA   MP10  2789                           *  2790                           *** Vul het system RAM met default waarden  2791                           *  2792 FEDC   34 56              INITRAM   PSHS  D,X,U  2793 FEDE   8E 9C00                      LDX   #SYSRAM  2794 FEE1   6F C0              IR10      CLR   ,U+     ; $00  2795 FEE3   8C 9F80                      CMPX  #WSEND+1  2796 FEE6   26 F9        FEE1            BNE   IR10  2797  2798 FEE8   86 FF                        LDA   #$FF    ; $FF  2799 FEEA   A7 80              IR20      STA   ,X+  2800 FEEC   8C 9FC0                      CMPX  #BERTWORK  2801 FEEF   26 F9        FEEA            BNE   IR20  2802                           *  2803                           *** Vul de default vectoren  2804                           *  2805 FEF1   CE F8C0                      LDU   #DEFWORK  2806 FEF4   C6 40                        LDB   #ENDWORK-DEFWORK  2807  2808 FEF6   A6 C0              MP10      LDA   ,U+ ; Move [B] bytes UX naar @X  2809 FEF8   A7 80                        STA   ,X+  2810 FEFA   5A                           DECB  2811 FEFB   26 F9        FEF6            BNE   MP10  2812 FEFD   35 D6                        PULS  D,X,U,PC  2813  2814 FEFF   FF                           FCB   $FF            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  51           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     2815                            PAG  2816 FF00   6E 9F 9FF0         JMPRESV   JMP   [VECTRES]  ; 6809 Undefiend, 6309 Error trap  2817 FF04   6E 9F 9FFE         SVCVECT   JMP   [VECTSVC]  2818 FF08   6E 9F 9FB6         RUN       JMP   [VECTRUN]  2819                           *  2820                           *** Knipoog Rood, Rode LED 1 Sec aan  2821                           *  2822 FF   8D 0B        FF19  KO_ROOD   BSR   GETADSYS  2823 FF0E   86 EE                        LDA   #%11101110 ; CB2 hoog, CB1 H2L, CA2 hoog, CA1 H2 >  2824 FF10   A7 2C                        STA   PCR,Y      ; Rood aan   Break   Keyb AL   Keyb ? >  2825 FF12   8D 15        FF29            BSR   DELKO      ; Laat LED Rood 1 Sec aan  2826 FF14   86 CE              CLR_ROOD  LDA   #%11001110 ; LED uit, Rest onveranderd  2827 FF16   A7 2C                        STA   PCR,Y  2828 FF18   39                 DUMCMD    RTS  2829                           *  2830                           *** Get adres SYSVIA in Y  2831                           *       afhankelijk van systeem  2832                           *  2833 FF19 108E BC00            GETADSYS  LDY   #$BC00  ; BEM3:SYSVIA, BEM4:Memory  2834 FF1D   A6 28                        LDA   T2CL,Y  ; Low byte counter  2835 FF1F   A0 28                        SUBA  T2CL,Y  ; BEM3: A <> 5, BEM4: A = 0  2836 FF21   26 04        FF27            BNE   GAS10   ; NE: BEM3  2837 FF23 108E BFF0                      LDY   #$BFF0  ; EQ: BEM4  2838 FF27   4D                 GAS10     TSTA  2839 FF28   39                           RTS  2840  2841 FF29   34 10              DELKO     PSHS X  2842 FF2B   8E FFFF                      LDX   #$FFFF  2843 FF2E   30 1F              DK10      LEAX  -1,X  2844 FF30   26 FC        FF2E            BNE   DK10  2845 FF32   35 90                        PULS  PC,X  2846                           *  2847                           *** System DP  2848                           *  2849 FF34   86 9E              SETSYSDP  LDA   #SYSDP  ; DP op system Direct Page  2850 FF36   1F 8B                        TFR   A,DP  2851 FF38   39                           RTS  2852                           *  2853                           *** Koude start  2854                           *  2855 FF39   1F B8              COLDSTRT  TFR   DP,A      ; Bij reset is DP nul  2856 FF3B   4D                           TSTA            ; Test DP, 0 is gewone Reset  2857 FF3C   26 C6        FF04            BNE   SVCVECT   ; <>0 Reset door opcode $3E (WAI-SVC1)  2858                           *  2859                           *** Gewone Reset  2860                           *  2861 FF3E 1E 9800            BERTMON   LDS   #TRBUFENX  ; Tijdelijke stack i.v.m. Wis RAM  2862 FF42   8D D5        FF19            BSR   GETADSYS   ; Y is adres SYSVIA  2863 FF44   8D CE        FF14            BSR   CLR_ROOD   ; Rood uit  2864 FF46   86 F3                        LDA   #%11110011 ; LED's console uit en  2865 FF48   A7 22                        STA   DDRB,Y     ; Pageregister = page 0  2866 FF4A   8D DD        FF29            BSR   DELKO      ; Gedurende 1 Sec  2867 FF4C   BD FEB6                      JSR   SERINIT    ; Init USART  2868 FF4F   8D E3        FF34            BSR   SETSYSDP   ; Init DP op System Direct Page  2869 FF51   8D 89        FEDC            BSR   INITRAM    ; Init Vectoren met BERMON9 defaults  2870 FF53   8D B7        FF            BSR   KO_ROOD    ; Knipoog rood, Y is adres SYSVIA  2871                           *  2872                           *** Test aanwezigheid Extended Monitor  2873                           *  2874 FF55   8E F000                      LDX   #EXTMON   ; Extended monitor  2875 FF58   A6 84                        LDA   ,X        ; begint met  2876 FF5A   81 BD                        CMPA  #$BD      ; JSR  2877 FF5C   26 06        FF64            BNE   BM10      ; Anders geen Extended monitor  2878                           *  2879                           *** Als Dissable switch niet aanwezig, dan altijd EXTMON (b.v. R >  2880                           *  2881 FF5E   6D 21                        TST   PA,Y      ; Test 'SAFE' mode  2882 FF60   2A 02        FF64            BPL   BM10      ; Dan geen Extended monitor  2883 FF62   AD 84                        JSR   ,X        ; Init Extended Monitor en command cha >  2884  2885 FF64   8D A6        FF  BM10      BSR   KO_ROOD   ; Knipoog rood  2886 FF66   8E F8A0                      LDX   #LOGON    ; Print  2887 FF69   BD FE1D                      JSR   NLPDATA   ; Logon boodschap            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  52           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     2888                            PAG  2889                           *  2890                           *** Warme start en  2891                           *** Monitor command loop  2892                           *  2893 FF6C 1E 9CFE            MCL       LDS   #STACK    ; De echte stack  2894 FF70   34 FF              MCL10     PSHS  CC,DP,A,B,X,Y,U,PC ; registers op stack  2895 FF72 10FF 9F10                      STS   SYSSTACK  ; Bewaar SP voor Print registers  2896 FF76   8D BC        FF34            BSR   SETSYSDP  ; DP op SYSTEM DP  2897 FF78   BD FED0                      JSR   INITMCL  2898 FF7B   86 4D                        LDA   #'M'      ; <M> _  2899 FF7D   BD FE77                      JSR   PROMPT  2900 FF80   BD FD26                      JSR   CHINUP    ; Lees commando  2901  2902 FF83   BE 9FBA                      LDX   USRCMD    ; User tabel  2903 FF86   8D 0F        FF97            BSR   CMDHDL  2904 FF88   24 E2        FF6C            BCC   MCL       ; Commando verwerkt  2905  2906 FF8A   8E FFBE                      LDX   #MONTAB   ; Monitor tabel  2907 FF8D   8D 08        FF97            BSR   CMDHDL  2908 FF8F   24 DB        FF6C            BCC   MCL       ; Commando verwerkt  2909  2910 FF91   AD 9F 9FD0                   JSR   [NOTFNDV] ; Niet gevonden, Foutmelding of  2911                                                     ; Zoek in command chain (ExtMon)  2912 FF95   20 D5        FF6C            BRA   MCL  2913                           *  2914                           *** Algemene commando routine  2915                           *  2916 FF97   8D 08        FFA1  CMDHDL    BSR   CMDADR    ; Zoek adres bij commando  2917 FF99   25 05        FFA0            BCS   CH99      ; Niet gevonden  2918 FF9B   AD 98 01                     JSR   [1,X]     ; Voer commando uit  2919 FF9E   1C FE                        CLC             ; Meldt OK  2920 FFA0   39                 CH99      RTS  2921                           *  2922                           *** Zoek adres behorende bij commando  2923                           *  2924 FFA1   34 04              CMDADR    PSHS  B  2925 FFA3   8C FFFF                      CMPX  #HV       ; Lege tabel  2926 FFA6   27 12        FFBA            BEQ   ANOTFND  2927 FFA8   E6 84              GETAD1    LDB   ,X        ; Commando in tabel  2928 FFAA   C1 FF                        CMPB  #HV       ; Einde tabel  2929 FFAC   27         FFBA            BEQ   ANOTFND   ; dus niet gevonden  2930 FFAE   A1 84                        CMPA  ,X        ; vergelijk entry met commando  2931 FFB0   27 04        FFB6            BEQ   FOUND     ; Gevonden  2932 FFB2   30 03                        LEAX  3,X       ; volgende entry  2933 FFB4   20 F2        FFA8            BRA   GETAD1    ; en opnieuw  2934  2935 FFB6   1C FE              FOUND     CLC             ; gevonden C=0  2936 FFB8   20 02        FFBC            BRA   GA90  2937  2938 FFBA   1A 01              ANOTFND   SEC             ; niet gevonden C=1  2939 FFBC   35 84              GA90      PULS  PC,B            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  53           Een 6809 monitor (April 2024)                CPU: 6809        2025-10-26 15:11:10                                                                                                     2940                            PAG  2941                           *  2942                           *** Monitor commando tabel  2943  2944                           *  2945                     FFBE  MONTAB    EQU   *  2946 FFBE   4C                           FCB   'L'      ; Load Hexfile vanaf terminal  2947 FFBF FBF2                           FDB   LOAD     ; Vult RUN Vector  2948 FFC1   45                           FCB   'E'      ; Edit memory  2949 FFC2 FA0E                           FDB   EDITMEM  2950 FFC4   48                           FCB   'H'      ; Hexdump memory  2951 FFC5 F904                           FDB   HEXDUMP  2952 FFC7   52                           FCB   'R'      ; Run (Vector geset door Load)  2953 FFC8 FF08                           FDB   RUN  2954 FFCA   47                           FCB   'G'      ; Go to adres (set ZVector)  2955 FFCB FB75                           FDB   GOTO  2956 FFCD   51                           FCB   'Q'      ; Warme start Userprogramm  2957 FFCE F9B0                           FDB   JMPQVECT ; Gevuld door Userprogramma  2958 FFD0   58                           FCB   'X'      ; Go to User adres  2959 FFD1 F898                           FDB   JMPXVECT ; Set door user  2960 FFD3   5A                           FCB   'Z'      ; Goto vector  2961 FFD4 F89C                           FDB   JMPZVECT ; Gevuld door Goto  2962 FFD6   FF                           FCB   $FF      ; Einde tabel  2963                           *  2964 FFD7   3B                 DUMRTI    RTI            ; Dummy RTI voor default vectoren  2965                           *  2966                           *** Interrupts via vector  2967                           *  2968 FFD8   6E 9F 9FF2         JMPSWI3V  JMP   [VECTSWI3]  2969 FFDC   6E 9F 9FF4         JMPSWI2V  JMP   [VECTSWI2]  2970 FFE0   6E 9F 9FF6         JMPFIRQV  JMP   [VECTFIRQ]  2971 FFE4   6E 9F 9FF8         JMPIRQV   JMP   [VECTIRQ]  2972 FFE8   6E 9F 9FFA         JMPSWIV   JMP   [VECTSWI]  2973 FFEC   6E 9F 9FFC         JMPNMIV   JMP   [VECTNMI]  2974                           *  2975                           *** Vectoren  2976                           *  2977 FFF0 FF00                           FDB   JMPRESV  2978 FFF2 FFD8                           FDB   JMPSWI3V  2979 FFF4 FFDC                           FDB   JMPSWI2V  2980 FFF6 FFE0                           FDB   JMPFIRQV  2981 FFF8 FFE4                           FDB   JMPIRQV  2982 FFFA FFE8                           FDB   JMPSWIV  2983 FFFC FFEC                           FDB   JMPNMIV  2984 FFFE FF39                           FDB   COLDSTRT  2985                     0000  ENDLOAD   EQU   *       ; moet 0000 zijn  2986 0004   <>                           END            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  54           Gekruiste referenties                        CPU: 6809        2025-10-26 15:11:10   LABEL    ## T Value Def.  Referenties                                                            VIABASE3  1 . BB00    30   540 VIABASE4  2 . BE00    31   534   536 MEMTOP    1 . 7FFF    53  1742 WSBASE    2 . 9000    54   124   142 EXTMON    2 . F000    56   320  2874 BASE      0 . F800    57 USART     7 . BE00    61    62    63    64    65    66    67  2768 RHREG     1 . BE00    62  2762 THREG     1 . BE00    63  2746 STTREG    2 . BE01    64  2743  2751 MDREG1    1 . BE02    65  2773 MDREG2    1 . BE02    66  2775 CMDREG    4 . BE03    67  2770  2771  2777  2779 MR1       1 . 004E    71  2772 MR2       1 . 007E    72  2774 CMD       1 . 0015    73  2776 PB        2 . 0000    78   363   378 PA        1 . 0001    79  2881 DDRB      2 . 0002    80   360  2865 DDRA      1 . 0003    81   358 T1CL      0 . 0004    82 T1CH      0 . 0005    83 T1LL      0 . 0006    84 T1LH      0 . 0007    85 T2CL      2 . 0008    86  2834  2835 T2CH      0 . 0009    87 SHR       0 . 000A    88 ACR       0 . 000B    89 PCR       2 . 00    90  2824  2827 IFR       0 . 000DA    91 IER       0 . 000E    92            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  55           Gekruiste referenties                        CPU: 6809        2025-10-26 15:11:10   LABEL    ## T Value Def.  Referenties                                                            PAX       0 . 000F    93 EOT       1 . 0004    98  2696 BS        4 . 0008    99  2112  2211  2255  2521 LF        1 . 000A   100  2619 FF        1 . 00   101  2631 CR       20 . 000DA   102   322   479   500   754   778   850   983  1186  1330  1710  1892  1915                           2105  2221  2382  2396  2464  2471  2533  2617 HiBit     6 . 0080   103   481   731   756   780  2384  2398 CRH       3 . 008D   104   809  2292  2474 BSH       1 . 0088   105  2255 Bell      1 . 0007   107   322 Escape    4 . 001B   108  1937  2107  2483  2535 Space    16 . 0020   109   579   622   682   731   858   865   981  1204  1863  1871  1915  2011                           2228  2255  2727  2730 Dquote    0 . 0022   110 Quote     1 . 0027   111  1931 HV        2 . FFFF   113  2925  2928 DUMMY    30 . FFFF   114   501   503  1592  1593  1594  1595  1596  1597  1599  1600  1601  1602                           1644  1682  1696  1697  1727  1728  1729  1730  1731  1732  1733  1734                           1737  1738  1739  1740  1748  1759 STARTADR  3 . 0000   118   687   715  1979 ENDADR    4 . 0002   119   586   696   719  1789 DESTADR   2 . 0004   120   688   716 TRBUFSTA  1 . 9400   127  1719 TRBUFENX  2 . 9800   128  1720  2861 EDITBUF   0 . 9800   132 LOADBUF   0 . 9900   133 SYSBUF    3 . 9940   134  2099  2461  2476 SYSRAM    4 . 9C00   143   150   183   227  2793 STACKTOP  1 . 9CF2   145  1144 STACK     1 . 9CFE   146  2893 GLCDWS    0 . 9D80   165 MONRAM    2 . 9E00   176   177   178 SYSDP     1 . 009E   178  2849 BIT_BASE  1 . 9F00   185  1462 CONVERTB  0 . 9F08   186 SYSSTACK  2 . 9F10   188   872  2895 PTR_RAS   0 . 9F12   189 XTEMP0    0 . 9F14   190 XTEMP1    0 . 9F16   191 PMSEGMNT  0 . 9F18   192 BYTE0     0 . 9F1C   196 BYTE1     0 . 9F1D   197 BYTE2     0 . 9F1E   198 BYTE3     0 . 9F1F   199 CONTRBLK  4 . 9F20   201   732  2142  2162  2182 CALLBUF   0 . 9F30   210 NMIBPTB   0 . 9F50   213 NMIWORK   0 . 9F60   214 MCLPTRS   2 . 9F78   217  2786  2787 VECTPUTM  1 . 9F78   218  2065 VECTGETM  1 . 9F7A   219  1824 TYPEPARM  0 . 9F7C   220 WPEND     1 . 9F80   222  2787 WSEND     1 . 9F7F   223  2795 PSVCTAB   0 . 9F90   230 USVCTAB   0 . 9F92   231 PCMDHELP  2 . 9F94   232  1280  1553 TESTSX    1 . 9FA0   239  2318 MEMTYPE   5 . 9FA4   241   624   684   711  1780  1977 NMIPHDR   1 . 9FA6   242   372 NMIPREG   1 . 9FA8   243   370 MONCMD    1 . 9FAA   244  1019 DISSASM   0 . 9FAC   245 CEDELAY   0 . 9FAE   246 QVECTOR   1 . 9FB0   248  1898 ZVECTOR   2 . 9FB2   249  1703  2189 XVECTOR   1 . 9FB4   250  1702 VECTRUN   2 . 9FB6   251  2367  2818 VTIMESHR  1 . 9FB8   252  2440 USRCMD    1 . 9FBA   253  2902 EXTCMD    1 . 9FBC   254   393 SWIBUG    1 . 9FBE   255   986 BERTWORK  1 . 9FC0   261  2800 TRBUFST   3 . 9FC0   262   810   821   827 TRBUFEND  1 . 9FC1   263   798 SEGMENT   0 . 9FC2   264 SYSCNTRL  7 . 9FC3   265  1509  1511  1514  1526  1868  1880  2663            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  56           Gekruiste referenties                        CPU: 6809        2025-10-26 15:11:10   LABEL    ## T Value Def.  Referenties                                                            DISLINPA  1 . 9FC4   266  1540 LINESCRN  2 . 9FC5   267  1537  2624 DBUGFLGS  5 . 9FC6   268   845   963   968  1523  1548 DISASMFL  5 . 9FC7   269   338   348  1518  1520  1529 NOTFNDV   2 . 9FD0   279   375  2910 CRDELAY   1 . 9FD2   280  2662 YVECTOR   0 . 9FD4   281 DISREGEL  1 . 9FD8   283  1177 OFFSET    1 . 9FDA   284  2331 USRMEMTP  0 . 9FDC   285 USERNMI   0 . 9FDE   286 ESCVECT   1 . 9FE0   288  2485 OUTPC     1 . 9FE2   289   914 PUTBLOAD  3 . 9FE4   290   814   819  2344 PDATAEXT  0 . 9FE8   292 VCHAROUT  1 . 9FEA   293  2557 VCHARIN   0 . 9FEC   294 VCHARGET  1 . 9FEE   295  2676 VECTRES   1 . 9FF0   299  2816 VECTSWI3  1 . 9FF2   300  2968 VECTSWI2  1 . 9FF4   301  2969 VECTFIRQ  1 . 9FF6   302  2970 VECTIRQ   1 . 9FF8   303  2971 VECTSWI   2 . 9FFA   304   367  2972 VECTNMI   1 . 9FFC   305  2973 VECTSVC   1 . 9FFE   306  2817 RAMTOP    0 . 9FFF   307 EXTINIT   0 . F000   321 EX10      1 . F01F   333   331 EX20      1 . F034   348   342 EXIT      2 . F066   379   391   395 TXTBEM3   1 . F067   381   329 TXTBEM4   1 . F06B   382   332 TXT68     1 . F06F   383   345 TXT63     1 . F073   384   337 EXTCMDH   1 . F077   389   374 NOTFND    0 . F087   419 NF10      1 . F08A   420   428 NF80      1 . F09D   430   421 INITCMD   1 . F0A0   436   376 IC10      1 . F0A3   438   445 IC20      1 . F0B1   446   439 SEARCH    2 . F0B2   453   420   438 S10       1 . F0B4   454   461 S20       1 . F2   460   456 S99       1 . F8   463   459 NEXTSEG   3 . FA   465   427   444   460 NS99      1 . F0DA5   471   426 PRTPAGE   1 . F0DA6   478  1587 EXMONCMD  1 . F0E1   485   389 DISPVIAS  1 . F118   527   511 BEM4      0 . F126   534 D20       4 . F130   538   535   537   542   568 BEM3      1 . F133   540   532 D10       1 . F138   542   546 D99       1 . F141   547   555 GETESC    3 . F142   553   652  1332  1589 DISPPAGE  1 . F14C   560   513 DP10      1 . F160   568   570 ASCIDUMP  1 . F166   576   493 AD10      2 . F17A   585   591   594 AD90      1 . F18A   596   587 ASCREGEL  1 . F18C   598   585 AR10      1 . F195   603   606 DUMPALL   1 . F1A1   618   491 DA05      0 . F1BC   631 DA10      1 . F1C2   634   658 DA20      1 . F1C9   638   656 DA30      1 . F1D2   643   647 DA40      0 . F1E0   652 DA45      1 . F1E3   655   675 DA99      0 . F1EB   662 DA50      1 . F1EF   665   645 DA60      1 . F1FE   674   670 MOVECMD   1 . F202   680   489 MOVE      0 . F213   686 MOVE1     1 . F21A   690   697 MEMERROR  2 . F22E   700   693   718            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  57           Gekruiste referenties                        CPU: 6809        2025-10-26 15:11:10   LABEL    ## T Value Def.  Referenties                                                            PRTERRIN  0 . F230   701 FILLCMD   1 . F23C   708   515 FILL      0 . F24C   714 FILL1     1 . F252   717   722 FILL9     1 . F25F   723   720 SAVE      1 . F261   729   487 SAVE2     1 . F284   746   774 SAVE3     1 . F290   751   748 SAVE4     1 . F292   752   750 SAVE5     1 . F2AA   764   768 PUNEXT    1 . F2C2   776   742 COMPBYTE  1 . F2D7   789   813 CB10      2 . F2F1   803   790   799 VERIFY    1 . F2F5   807   499 COMP10    1 . F326   826   822 COMP20    1 . F32F   831   837 PRTHEAD   1 . F344   845   876 PH10      1 . F34B   849   371 TXTHEAD   0 . F34E   850 PH20      1 . F38B   867   861 NEWLINE2  2 . F391   870   847   930 REGPRT    1 . F394   872   509 PREGHEAD  2 . F397   876   967  1009 PRINTREG  2 . F399   877   932   993 PR10      1 . F3B1   888   890 PR20      1 . F3D4   913   898 TEST6309  4 . F3DA   919   341   860   897  1066 PRTREGS   0 . F3E2   929 PRTSWI    1 . F3EC   963   366 PS10      0 . F3FC   971 PS20      1 . F3FF   973   970 PS30      2 . F403   975   982   988 PS40      2 . F404   977   974  1005 PS50      1 . F414   986   964 NMIREGS   1 . F41E   993   369 NR10      1 . F421   994   998 PS60      1 . F42E  1004   984 CHLOOP    2 . F432  1007   997  1004 CHL10     1 . F43B  1012  1008 CHL20     1 . F444  1017  1013 CHL40     2 . F44C  1020  1010  1015 CHL30     1 . F44F  1023  1018 CHANGREG  0 . F44F  1028 CR10      1 . F452  1029  1032 CR20      1 . F45D  1038  1030 CR30      1 . F478  1053  1046 CR90     10 . F480  1057  1049  1051  1055  1067  1078  1080  1086  1088  1092  1094 PREGDP    2 . F482  1062  1041  1072 CR40      1 . F48A  1066  1040 CR50      1 . F4A1  1082  1075 CR60      1 . F4AF  1090  1083 CHANGE16  2 . F4B9  1098  1048  1091 CHANGE8   3 . F4C9  1107  1054  1077  1085 OUTEQ     2 . F4D6  1114  1099  1108 REGTABEL  1 . F4DB  1119  1028 DISSTACK  1 . F4F2  1137  1155 DS10      1 . F4FA  1141  1145 DS99      2 . F505  1146  1143  1167 DISP_REG  1 . F507  1150  1014 DR06      1 . F520  1162  1160 DR07      1 . F524  1164  1166 DIS1REG   1 . F52B  1171  1164 PRTPC     0 . F52E  1176 DR08      1 . F536  1179  1157 DR09      1 . F54D  1191  1180 DR11      1 . F555  1195  1192 DR12      1 . F55D  1199  1196 DR14      1 . F565  1204  1200 DR15      1 . F56E  1209  1205 DR16      3 . F575  1213  1194  1198  1202 DR18      2 . F580  1219  1189  1216 DR20      0 . F582  1221 DR25      1 . F585  1222  1224 DR99      6 . F58E  1226  1207  1211  1252  1261  1270  1278 GETCHAR   1 . F590  1228  1153 SPBYTE    3 . F596  1231  1158  1236  1240 XGETBYTE  0 . F599  1232 DR30      1 . F59C  1234  1187            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  58           Gekruiste referenties                        CPU: 6809        2025-10-26 15:11:10   LABEL    ## T Value Def.  Referenties                                                            DR30A     1 . F5B2  1245  1243 DR31      0 . F5C3  1254 DR32      2 . F5C9  1258  1255  1260 DR33      1 . F5D1  1263  1250 DR34      2 . F5D7  1267  1264  1269 DR35      1 . F5DF  1271  1248 DR36      2 . F5E5  1274  1272  1277 HELP      1 . F5EF  1280   507 COMPARE   1 . F5F3  1286   497 CP10      2 . F605  1293  1299  1313 CP20      1 . F60B  1297  1294 OUTAHB    3 . F62C  1315  1305  1310  1334 DISPBYTE  1 . F643  1327   495 DB10      2 . F648  1330  1340  1343 DB15      1 . F658  1338  1339 DB20      1 . F65F  1342  1336 BITS      1 . F664  1370  1590 B05       1 . F688  1391  1388 B07       1 . F68A  1393  1390 B10       1 . F698  1401  1380 B20       1 . F69F  1406  1382 B30       1 . F6A5  1410  1384 B100      2 . F6AB  1415  1394  1445 B110      2 . F6B8  1424  1396  1446 B120      1 . F6C4  1432  1398 B130      1 . F6D4  1440  1437 B40       2 . F6D6  1442  1404  1408 B140      1 . F6DA  1445  1399 B150      2 . F6DE  1448  1421  1429 B160      1 . F6E7  1454  1450 B99       4 . F6E9  1455  1412  1439  1443  1452 BIT_MASK  3 . F6EB  1457  1401  1406  1410 BM10X     3 . F6F6  1465  1417  1426  1434 MASK_TAB  1 . F6FE  1470  1466 PUNTCMD   1 . F706  1482   517 PC10      1 . F712  1488  1485 PC99      2 . F71F  1496  1489  1491 JMPTAB    1 . F720  1498  1482 TOGLPAGE  1 . F734  1509  1499 TOGSYS    1 . F739  1511  1516 TOGLHBFL  1 . F73D  1514  1500 TOGLASC   1 . F744  1518  1501 SETDBFL   1 . F74D  1523  1504 SETSYSFL  1 . F752  1526  1502 SETDISFL  1 . F757  1529  1503 SETOPTIE  2 . F75A  1531  1524  1527 SD10      1 . F761  1534  1551 SD99      1 . F763  1535  1533 PAGECLRS  1 . F764  1537  1506 PAGEDISA  1 . F769  1540  1505 EDITHEX   1 . F76C  1542  1538 SWINMI    1 . F777  1548  1507 PRTHELP   1 . F780  1553  1498 PDEXIST   2 . F784  1555  1749  2698 PE10      2 . F78C  1562  1556  1558 MONCALLS  0 . F800  1606 MCLDEF    1 . F890  1694  2785 JMPXVECT  1 . F898  1702  2959 JMPZVECT  1 . F89C  1703  2961 LOGON     1 . F8A0  1708  2886 COPYRIGT  0 . F8AD  1713 DEFWORK   2 . F8C0  1718  2805  2806 ENDWORK   1 . F900  1762  2806 DUMP      1 . F900  1768  1650 HEXDUMP   1 . F904  1773  2951 DM10      2 . F91F  1786  1769  1795 DM20      1 . F921  1788  1793 DM90      1 . F930  1797  1790 DMPREGEL  4 . F932  1799   538  1222  1651  1788 DM30      1 . F93B  1804  1807 DM40      1 . F94C  1814  1817 GETMEM    9 . F956  1824   603   638   643   690   765  1804  1814  1982  2038 GETMDEF   1 . F95A  1826  1695 GETDUMMY  0 . F95D  1831 PUTDUMMY  0 . F95F  1832 HEADER    6 . F962  1838   529   566   631  1221  1616  1786 H10       1 . F96D  1843  1848 OUT2SP    3 . F97B  1851  1621  1812  1845            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  59           Gekruiste referenties                        CPU: 6809        2025-10-26 15:11:10   LABEL    ## T Value Def.  Referenties                                                            XOUTSP    1 . F97D  1852  1851 PNOPRT    5 . F980  1857   604  1275  1642  1815  1985 NOPRINT   3 . F985  1863  1321  1657  1857 NOP2      0 . F98B  1866 NOP8      3 . F999  1875  1864  1869  1872 NOP9      1 . F99B  1876  1866 NEXTPAGE  3 . F99C  1880   593  1649  1794 ACK       2 . F9A3  1888   826  2180 ACK1      2 . F9A8  1891  1672  1893 ACK9      1 . F9AF  1894  1882 JMPQVECT  1 . F9B0  1898  2957 TESTCHAR  2 . F9B4  1903  1654  1922 TC10      1 . F9B6  1904  1908 TC15      0 . F9BF  1909 TC30      1 . F9C2  1912  1906 CHARTAB   1 . F9C5  1915  1921 GHEX8     1 . F9CD  1919  1989 GETBYTE   3 . F9DA  1928  1214  1232  1664 GETBYTEP  3 . F9DB  1929  1110  1665  1991 GB10      0 . F9E5  1935 GB12      1 . F9EB  1937  1957 GB14      1 . F9F2  1942  1938 GB99      1 . F9F3  1943  2003 GB18      3 . F9F4  1945  1544  1930  1955 GB20      1 . FA06  1954  1932 EDITMEM   2 . FA0E  1972  1674  2949 EDIT2     5 . FA1F  1981  1684  2000  2009  2020  2022 EDIT2A    1 . FA3E  1995  2042 EDIT3     1 . FA4C  2002  1990 EDIT4     1 . FA5E  2011  2005 EDIT5     2 . FA6E  2019  1993  1996 EDIT7     1 . FA72  2021  2012 EDIT7A    2 . FA74  2022  2041  2060 EDITBIN   3 . FA76  2024  1532  1673  2040 EB10      1 . FA7D  2027  1956 EDIT10    1 . FA91  2038  2018 XEDIT2A   0 . FA9A  2042 EDIT8     1 . FA9C  2046  2014 XEDIT2    1 . FAB9  2060  2090 PUTMEM    5 . FABB  2065   692   717  1995  2079  2088 PUTMDEF   1 . FABF  2066  1694 EDIT9     1 . FAC4  2072  2016 OUTCHDP   3 . FADB  2084  1626  2046  2072 EDIT8B    2 . FAE3  2088  2058  2082 KEYINSYS  1 . FAE9  2099  1670 KEYIN10   2 . FAEC  2100  1669  2008 KEYIN     1 . FAEE  2101  1668 KEY0      0 . FAF0  2102 KEY1      4 . FAF3  2104  2115  2119  2122  2128 KEY2      0 . FAFA  2107 KEY3      1 . FB02  2112  2108 KEY4      1 . FB13  2121  2113 KEY8      2 . FB24  2131  2106  2110 KEY9      1 . FB26  2132  2139 GET2SEQ   1 . FB27  2137  1588 PARM2HV   1 . FB2D  2140  2150 GET1PARM  3 . FB37  2147   562  1978  2188 SEAGET2   3 . FB3B  2150   580  1671  1781 GET2PARM  2 . FB3D  2152  1328  2137 GET3PARM  4 . FB41  2155   685   712   735  1290 GETPARM   3 . FB43  2162  1662  2148  2153 PGUSR     1 . FB46  2163  1681 GP1       1 . FB4C  2166  2179 GP2       1 . FB64  2177  2175 GP5       1 . FB6A  2180  2173 GP9       0 . FB74  2184 GOTO      1 . FB75  2188  2955 GETWORD   6 . FB7C  2202  1101  1209  1666  2048  2074  2171 GETWORDP  2 . FB7D  2203  1667  1947 INW01     4 . FB87  2209  2214  2219  2234  2246 INW03     0 . FB8A  2211 INW04     0 . FB92  2216 INW05     1 . FB99  2221  2212 INW05B    1 . FBA3  2226  2231 INW05A    1 . FBA5  2228  2222 INW06     2 . FBAD  2233  2207  2229 INW07     1 . FBCA  2247  2224 INW08     1 . FBCB  2248  2226            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  60           Gekruiste referenties                        CPU: 6809        2025-10-26 15:11:10   LABEL    ## T Value Def.  Referenties                                                            WISCHAR   5 . FBCD  2254  1206  1648  2116  2216  2529 DIGRIGHT  1 . FBD4  2260  2217 DR10      1 . FBE0  2270  2285 DIGLEFT   1 . FBE4  2275  2238 LOAD      1 . FBF2  2290  2947 LOAD00    1 . FBFA  2293   815 LOAD0     2 . FC02  2297  2319  2322 LOAD1     2 . FC06  2299  2353  2357 LOAD2     2 . FC19  2308  2302  2310 LOAD4     1 . FC35  2321  2317 LOAD05    1 . FC3A  2324  2313 LOAD10    2 . FC56  2337  2345  2349 LOAD16    1 . FC72  2351  2343 LOAD30    1 . FC7E  2361  2315 LOAD35    2 . FC8E  2369  2363  2366 LOAD40    1 . FC9B  2375  2372 LOAD50    1 . FC9D  2376  2374 PRTOK     2 . FCA1  2381   824  2373 PUTLOAD   2 . FCA8  2389   818  1747 PRERROR   3 . FCAD  2395   701  1643  2375 INADRES   2 . FCB9  2404  2326  2364 BYTE      5 . FCC5  2413  2324  2338  2361  2404  2406 LOAD99    0 . FCD1  2421 INHEX     3 . FCD2  2426  2413  2419  2433 INHX9     2 . FCE2  2434  2429  2439 CHARIN   13 . FCE3  2438   784  1109  1659  1935  2104  2308  2311  2426  2441  2463  2470  2482                           2504 CI10      0 . FCE8  2440 TESTHEX   3 . FCEE  2445  1655  2233  2428 HEXOK     1 . FD00  2454  2448 HEXFOUT   3 . FD03  2456  2446  2451  2453 LABEL     1 . FD06  2461  2321 L10       1 . FD0B  2463  2468 L20       1 . FD16  2470  2472 L30       1 . FD1C  2474  2465 CHINUP   12 . FD26  2482   979   996  1185  1228  1342  1483  1661  1891  1919  2209  2737  2900 UPPER     4 . FD30  2490  1656  1945  2427  2484 UP9       2 . FD3A  2495  2491  2493 GETBBIN   2 . FD3B  2499  1663  2028 GBB10     4 . FD42  2504  2519  2525  2531  2536 GBB20     0 . FD4C  2510 GBB25     1 . FD54  2515  2511 GBB30     2 . FD5C  2521  2508  2513 GBB35     1 . FD70  2533  2522 GBB40     1 . FD7C  2540  2534 GBB45     1 . FD7E  2541  2538 OUTHL     2 . FD82  2547  1630  2579 OUTHR     4 . FD86  2552  1631  1844  2236  2581 CHAROUT  22 . FD90  2557   666  1063  1152  1229  1235  1611  1858  1933  1936  2027  2084  2124                           2300  2370  2515  2555  2562  2564  2589  2593  2620  2728 PUTDAS    1 . FD94  2559  1647 PUTDA     2 . FD98  2562  1646  2559 OUTDHS    4 . FD9E  2566   909  1098  1629  2170 OUTDH     3 . FDA2  2569   878  1628  2566 OUT2HAS  12 . FDA8  2573   483   648   884   905   907  1107  1316  1543  1618  1805  1988  2400 OUT4HX    3 . FDAC  2576  1623  2607  2613 OUT2HX    4 . FDAE  2577  1620  2576  2584  2585 OUT2HA    9 . FDB0  2578   759   766   771  1617  1999  2032  2569  2571  2573 OUT4HS    4 . FDB8  2584   832   888  1258  1622 OUT2HS    9 . FDBA  2585   703   833   834   882   893   894  1141  1267  1619 OUTS      7 . FDBC  2586  1319  2560  2567  2574  2590  2595  2602 PCOLSP    3 . FDBF  2588  1064  1641  2614 OUTCHSP   3 . FDC1  2589  1627  2007  2597 OUTSPQB   4 . FDC5  2592  1635  1736  1997  2059 OUTSPQ    2 . FDC9  2595   430  1634 OUTQ      1 . FDCB  2596  1632 OUTXNL    3 . FDCF  2599  1303  1308  1638 OUTXS     2 . FDD1  2600   702  1637 OUTX      5 . FDD9  2605   761   782  1636  1746  2601 OUTXFDP   6 . FDE1  2610   600   636  1140  1640  1801  1981 OUTXDP    1 . FDE3  2611  1639 DOCRLF    4 . FDED  2617   783  2303  2626  2661 YCHOUT    3 . FDF3  2620  2618  2632  2647 CLRSCRN   2 . FDF5  2624   505  1652 CS10      1 . FDFA  2626  2628 FORMFEED  1 . FE00  2631  2625 OUTBBIN   4 . FE04  2636   881  1318  1624  2025 OB10      2 . FE0A  2640  2636  2637            BERTMO54   BERTMON9 5.4                      My Assembler (c) Robert Henneke Blad:  61           Gekruiste referenties                        CPU: 6809        2025-10-26 15:11:10   LABEL    ## T Value Def.  Referenties                                                            OB20      1 . FE10  2643  2649 NLPDATA   5 . FE1D  2654   333   349  1614  2477  2887 NEWLINE  13 . FE21  2660   831   870  1171  1245  1312  1613  1839  2599  2610  2654  2705  2710                           2716 NL20      0 . FE29  2663 NL30      1 . FE32  2668  2665 NL90      2 . FE3E  2674  2669  2672 CHARGET   4 . FE40  2676   553  1660  2438  2668 PRTMSG   23 . FE44  2681   321   478   527   560   577   619   680   708   729   753   777   807                            849   862   867  1287  1683  1774  1972  2254  2290  2381  2395 EINDE     2 . FE4E  2686  2694  2697 PD30      1 . FE4F  2688  2702 PD40      1 . FE51  2689  2704 PDATA     6 . FE53  2693  1176  1615  2655  2683  2699  2706 PD10      0 . FE6B  2705 PD20      1 . FE6F  2708  2695 PROMPT    6 . FE77  2715   978   995  1645  1889  2168  2899 CHOUTSP   6 . FE85  2725   667  1115  1322  1331  1612  2086 OUTSP    11 . FE87  2727  1181  1213  1231  1633  1852  1986  2030  2304  2586  2638  2640 XCHOUT    6 . FE89  2728  2689  2711  2718  2720  2725  2732 OUTBSP    3 . FE8C  2730  1625  1841  2666 OUTBCH    1 . FE8E  2731  1653 OBS10     1 . FE8E  2732  2734 OBS99     0 . FE93  2735 XCHARIN   2 . FE94  2737  2670  2673 SEROUTCH  1 . FE97  2742  1750 OS10      1 . FE99  2743  2745 SERGETCH  2 . FEA5  2751  1752  2760 SERINCH   1 . FEAE  2759  1751 IS10      1 . FEAE  2760  2761 IS20      1 . FEB2  2762  2753 SERINIT   1 . FEB6  2768  2867 INITMCL   1 . FED0  2784  2897 INITRAM   1 . FEDC  2792  2869 IR10      1 . FEE1  2794  2796 IR20      1 . FEEA  2799  2801 MP10      2 . FEF6  2808  2788  2811 JMPRESV   1 . FF00  2816  2977 SVCVECT   1 . FF04  2817  2857 RUN       1 . FF08  2818  2953 KO_ROOD   2 . FF  2822  2870  2885 CLR_ROOD  1 . FF14  2826  2863 DUMCMD    0 . FF18  2828 GETADSYS  6 . FF19  2833   330   530  1603  1658  2822  2862 GAS10     1 . FF27  2838  2836 DELKO     3 . FF29  2841   364  2825  2866 DK10      1 . FF2E  2843  2844 SETSYSDP  2 . FF34  2849  2868  2896 COLDSTRT  1 . FF39  2855  2984 BERTMON   0 . FF3E  2861 BM10      2 . FF64  2885  2877  2882 MCL      12 . FF6C  2893   556   704   971  1679  1743  1745  1755  1756  1761  2904  2908  2912 MCL10     0 . FF70  2894 CMDHDL    6 . FF97  2916   390   394   424  1680  2903  2907 CH99      1 . FFA0  2920  2917 CMDADR    1 . FFA1  2924  2916 GETAD1    1 . FFA8  2927  2933 FOUND     1 . FFB6  2935  2931 ANOTFND   2 . FFBA  2938  2926  2929 GA90      1 . FFBC  2939  2936 MONTAB    1 . FFBE  2945  2906 DUMRTI    4 . FFD7  2964  1754  1757  1758  1760 JMPSWI3V  1 . FFD8  2968  2978 JMPSWI2V  1 . FFDC  2969  2979 JMPFIRQV  1 . FFE0  2970  2980 JMPIRQV   1 . FFE4  2971  2981 JMPSWIV   1 . FFE8  2972  2982 JMPNMIV   1 . FFEC  2973  2983 ENDLOAD   0 . 0000  2985 
