Close

Programming Toolchain

A project log for MIKBUG on Multicomp

MIKBUG Running on Multicomp with 6800 CPU

land-boardscomland-boards.com 02/26/2020 at 19:020 Comments

There are some options for assembling 6800 code today. Ideally, a cross assembler would be good from Windows.

Herb Johnson has adapted William C Colley III's A68 6800 cross-assembler. The A68 assembler runs in DOSBOX under Microsoft Windows.

Output Format

A68 produces Intel hex records which can be loaded into the Intel/Altera Quartus II FPGA tool.

Attempts to Assemble MIKSBUG

When I tried to compile MIKSBUG I got the usual pile of errors - 98 in fact.

Smithbug Compiles with A68

Smithbug from here code version V2_DIS_corrected.ASM is MIKBUG compatible and compiles with the A68 6800 cross-assembler without error. 

a68 V2_DIS_corrected.ASM  -l V2_DIS_corrected.LST -o smithbug.hex
6800/6801 Cross-Assembler (Portable) Ver 3.5!
Copyright (c) 1985 William C. Colley, III
fixes for LCC/Windows and improvement by HRJ Aug 26 2019
A68 source_file | -l list_file | | -o/-s object_file |

No Errors

Changed the vector table to be at $CFF8 instead of $FFF8.

                        ;
                        ;END of V2 S-loader 
                        ; 
                        ;   STARTUP VECTORS $FFF8 -$FFFF
                        ;
   cff8                  ORG $CFF8
                        ;
   cff8   c0 55          FDB IO
   cffa   c0 5f          FDB SWI
   cffc   c0 5a          FDB POWDWN
   cffe   c0 00          FDB START

 The end of the code is here:

   c8ca   a6 00         OUTSTR    LDAA    0,X            ; Read String
   c8cc   81 04                 CMPA    #$4        ; Is it EOT?
   c8ce   27 05                 BEQ    STEXIT        ; Exit if EOT
   c8d0   8d eb                 BSR    OUTPUTA            ; Print Charactor
   c8d2   08                    INX            ; Point at next charactor
   c8d3   20 f5                 BRA    OUTSTR        ; Loop and read next
   c8d5   39            STEXIT        RTS            ;

DOS command line to  make hex file:

a68 V2_DIS_corrected.ASM  -l V2_DIS_corrected.LST -o smithbug.hex

A68 ran in Windows 10 CMD window (didn't need DOSBOX). Start of the HEX file is:

:10C000008E7F44BF7F0A7F7F0DCEC125FF7F17FF44
:10C010007F088603B780180101018615B77F0CB62B
:10C020007F0CB780188E7F448E7F627F7F137F7F67

 End of the code looks like:

:10C8C00018575724F9B780193339A6008104270572
:06C8D0008DEB0820F53994
:08CFF800C055C05FC05AC00023
:00D000012F

This seems OK. 

Discussions