Some 6800 programs
Here are some programs for the 6800 CPU that I have dug up from various sources on the Internet. It would be a shame to let this computer history be forgotten. I have adapted them to run on my MC3 computer but they can be adjusted to run on other systems as well. Some are with source and for some I have only located the MIKBUG vectors needed and created a separate "fix" file to adjust the original code after loading. Robert Uiterwyk's Micro Basic 1.3 READY #10 PRINT "HELLO WORLD" #RUN HELLO WORLD READY # This program was distributed from SWTPC newsletter in 1976. I got the listing from Michael Holley's excellent SWTPC site at I have corrected some minor errors in the listing and adapted the code for my MC3. This program requires MIKBUG RAM at $A000 to run. It may be possible to alter this but I have left it as is. Changes to the original code are marked with "####". EDIT 2013-10-30: Les found a bug of mine. Files have been updated. Thanks! - manual - source - S19 TSC Text Editor NEW FILE: 1.00=This is a line of text 2.00=# 1.00=This is a line of text #T #P 1.00=This is a line of text # This program was found on the FLEX user group website. It is a quite advanced line based text editor. No source is available so I have located the parts needed to adapt the program for my MC3. Load the original S19 file and then the "fix" file. Program starts at $0200. To return to the program without erasing file in memory start at $0203. - manual (actually for the 6809 version but it's quite similar) - original S19 - fix source - fix S19 TSC Space Voyage . . . . . * . . S.DATE: 7029.0 . . * * . . . . CNDTN: GREEN . . . . . . . . QUDRNT: 2-5 . . . . . . . . SECTOR: 2-8 * . * . . . . . ENERGY: 3000 . . . . . . . . KLINGONS: 42 . * . . . . * . SHLDS: 3000 DN . E . . . . . . TORPEDO: 15 SPACE STORM: SHIELDS DAMAGED! SHIELDS DOWN! COMMAND: I found this S19 file on the FLEX user group website. No source is available so I have located the parts needed to adapt the program for my MC3. My changes are available in a separate "fix" file. First load the original S19 file and then load my fix file on top. Program starts at $0100. I have no manual for this game. If anyone have the details on how to play please let me know. - original S19 - fix source - fix S19 Super-Wumpus by Jack Emmerichs I HEAR WINGS CURRENT ROOM IS: 3 TUNNELS LEAD TO: 9 13 12 SUPPLIES WILL LAST 10 DAYS MOVE OR SHOOT? This game is from a Paperbyte book with the same name printed in 1978. I consider this as abandon ware since the book has not been sold for many years now. The source have been manually typed in by me (no OCR). Game runs fine on my MC3. - source - S19 BlackJack by Rick Sterling PLAYER DEALER 01 00 SIX/CLUBS THREE/HEARTS TEN/SPADES ?1 MY DOWN CARD WAS TWO/DIAMONDS DEALER DRAWS A KING/HEARTS DEALER DRAWS A TWO/SPADES DEALER WINS I found this game in the Motorola User Group Library. There were several errors in the listing (bad OCR?) but I think I have found them all. Runs fine on my MC3. - source - S19 Missionaries and cannibals by Philip N. Theurer 3C 3M <<<<<<<<<<<<<<<< 0C 0M >> I found this game in the Motorola User Group Library. Runs fine on my MC3. - source - S19 Othello GREETINGS FROM OTHELLO DO YOU WANT INSTRUCTIONS?N SHOULD I WAIT BEFORE MAKING MY MOVES?N SHOULD I PLAY MY BEST STRATEGY?N DO YOU WANT TO HAVE X OR O?X DO YOU WANT TO GO FIRST?Y A B C D E F G H 1 . . . . . . . . 2 . . . . . . . . 3 . . . . . . . . 4 . . . O X . . . 5 . . . X O . . . 6 . . . . . . . . 7 . . . . . . . . 8 . . . . . . . . YOUR MOVE--(ROW,COL)? I found this program on some old FLEX floppies. The author is unknown to me and the source code contained no information. It's a well written and fun program. - source - listing - S19 Star Trek 1.2 - - - - S T A R T R E K - - - - VERSION 1.2 SHORT OR LONG GAME? (S-L): S STARBASE IN QUADRANT: 7-2 ENTER YOUR 3 LETTER ABORT PASSWORD: 123 IT IS STARDATE 2315.0 THE KLINGONS NUMBER 31 YOUR TIME LIMIT (IN STARDATES) = 35 YOU ARE IN QUADRANT 4-6 AND SECTOR 2-3 COMMAND? SR . . . . . . . . STARDATE: 2315.0 * . E . * . . . CONDITION: GREEN . . . . . . . . QUADRANT: 4-6 . . . . . . . . SECTOR: 2-3 . . . . . . . . ENERGY: 3000 . . . . . . . . KLINGONS: 31 . . . . . . . . SHIELDS: 3000 DOWN . . . . . . . . TORPEDOS: 15 COMMAND? I found this program on some old FLEX floppies. The author is unknown to me and the source code contained no information. - source - listing - S19 Eighteen with a die HI! LET'S PLAY '18 WITH A DIE'! YOU START. CHOOSE ANY NUMBER, 1 THRU 6. I DO LIKEWISE, BUT WE CAN'T PLAY THE NUMBER THE OTHER JUST PLAYED, NOR ITS DIFFERENCE FROM 7. TRY TO MAKE THE TOTAL OF ALL YOUR PLAYS HIT 18 ON YOUR PLAY. READY TO START? (TYPE Y OR N.) EIGHTEEN WITH A DIE GAMES WON YOU ME TOTAL IS 00 00 00 YOUR FIRST PLAY? A learning game written by Russel R Yost Jr. It get's more difficult the longer you play! Presented in BYTE magazine Jan 1980. - source - listing - S19 If you are the author of any of these programs and don't want them to be here please let me know!
by Les 2013-10-28 01:13 UTC
Daniel, I have 6800 Basic working, here is what I found: PRINT4: CMP B #$1E should be PRINT4: CMP A #$1E This was causing the strange print errors. Also, The last line of: FOR8: BNE FOR2 INX STX BASLIN LDX FORPNT LDA A BASLIN STA A 0,X INX LDA B BASLIN+1 STA 1 0,X Should be STA B 0,X This prevent FOR loops from working. Lastly: BNE KEYB11 KEYBD11 #### Should be BNE KEYBD1 Les

by daniel 2013-10-28 06:46 UTC
Hi Les! Great hearing from you. Good work finding these bugs and thank you for sharing the result. I suspect most of them are related to OCR scanning. What is your source of the assembly file? I did not have all of the errors you had but big thanks for pointing out the BNE KEYBD1 line. That makes more sense now. Thanks! /Daniel

by John Linville 2016-01-28 00:05 UTC
Hi! I appreciate the great retro stuff you have put up on this site. Thanks for doing that! I am wondering if perhaps you know of any sort of archive of MIKBUG-based 6800 programs? It would be great to be able to explore beyond those you have collected above. Thanks, John

by Daniel 2016-01-30 08:46 UTC
Hi John! Thanks for dropping by. I'm really pleased that you found some useful things here! One of the best online sources for old 6800 software I have found so far is the FLEX disk archive bundled with Michael Evenson's SWTPC emulator. Check out if you haven't done that already. Great stuff! Unfortunately it's only for Windows but after some adventures in the Wine world I had the archive extracted and was able to read the DSK-files using my FLEXTRACT tool (source code is in my "Reading FLEX disk images" entry). may not be very active anymore but you may still find something useful. Also check out the Exorciser disk archive from Bitsavers at (you need the IMD-tool from to extract them but it runs fine in a dosbox). There are some old software listings circulating from the old Motorola Users Group. I found one source here also contains some good reading. Happy code hunting :)

by Bill 2019-08-05 00:23 UTC
*TSC Space Voyage * * Copyright 1976 by * Technical Systems Consultants * Box 2574 W.Lafayette Ind. 47906 * * Instructions for Playing * * After entering Space Voyage you must enter the TSC * Random Number Generator at location A04A. Then * using MIKBUG (a registered trademark of Motorola * Inc) go to user program at location 0100 hex. * * Space Voyage is a very complex space simulation * game. You are put in command of the Starship * Enterprise and your mission is to rid the galaxy * of all enemy Klingon ships. At the start of the * game you will be informed of the location of your * starbase. It is important that you know its * position at all times. Next you must enter a three * character password. This will be needed if you * wish to execute the self destruct sequence anytime * during your mission. * * Next, five important lines will be output. First is * the present stardate followed by the number of * Klingons in the galaxy. You must destroy all of * these to save the Federation! The next line tells * you the number of solar years you will have to * complete your mission. Finally the last two lines * inform you of your current quadrant and sector * locations in the galaxy. * * The galaxy is divided into 64 quadrants. See the * short form instruction sheet for details of the * coordinates. Each quadrant is similarly divided * into 64 sectors. * * Following is a list of devices and how to use them. * *Command 0 - Warp Engines * Course= An integer number from 0 to 7. The numbers * start with 0 at the top and go clockwise: * * 0 * 7 1 * 6 2 * 5 3 * 4 * * Warp Factor= A real number from 0 to 9. If the * number entered is an integer (no decimal point) * the distance travelled will be that number of * quadrants. To travel within a quadrant a decimal * point must be entered first, then the number of * sectors travelled equals the number entered after * the decimal point. * Warp .1 = Move 1 Sector * .5 = 5 Sectors * 1 = 1 Quadrant * 2 = 2 Quadrants * Example: if you are in quadrant 1-1, sector 1-1 * and enter a course of 2 and warp factor 3 you * will end up in quadrant 4-1. When you change * quadrants, the positions of all objects in the * quadrant (including the Enterprise) will be * randomized to simulate 3-D travel. * Note: every use of the warp engines takes time * and is proportional to the warp factor used. * If the Enterprise is blocked by something * during intra-quadrant travel it will stop in * front of it and waste time. If the object is a * Klingon, the Klingon will be destroyed and the * Enterprise badly damaged. * *Command 1 - Short Range Scanners * The short range scanners display a detailed view * of the current quadrant. The Enterprise looks * like an 'E' on the screen. Klingons appear as * a 'K', the starbase as 'B', and stars as '*'. To * dock with your base, you must first move to one * of the 8 adjacent sectors then perform a short * range scan. Docking replenishes all energy, shield * and photon levels. While docked shields are * lowered but the base shields protect you. The * 'condition' displayed on this scan can be 'docked', * 'green' when no Klingons are threatening, 'red' * when there are Klingons, and 'yellow' if your * energy reaches a dangerously low level (300 units * or less). If condition yellow exists you should * return to your base immediately! * *Command 2 - Long Range Scanners * These scanners display the objects in the 8 * surrounding quadrants as well as the current * quadrant. This information is compiled by the * computer and displayed as a 4 digit number for * each quadrant. * The one's digit is the number of Klingons * ten's stars * hundred's bases * thousand's supernovas * Example: 0121 means no supernovas, 1 base, * 2 stars, and 1 Klingon. * A supernova can appear at any time and in any * quadrant. If it does all objects in that * quadrant will be destroyed! If the Enterprise * enters a quadrant containing a supernova, it * will be destroyed. * *Command 3 - Phasers * Any portion of the available energy can be fired * using the phasers. The battle computer divides * this amount among the Klingons of the quadrant * and determines the various directions of fire. * Each Klingon has a certain unknown amount of * energy (each one different) and this is the * amount needed to destroy them. If too little * energy is fired you will only damage the Klingons * and must fire again. * Note: shields must be lowered to fire phasers. * *Command 4 - Photon Torpedoes * Initially you will have 15 photon torpedoes. One * torpedo destroys whatever it hits. The range of * torpedoes (like phasers) is limited to the * current quadrant. The course of a torpedo is * set the same way as that of the Enterprise. If * the torpedo must travel a long distance to its * target it may run out of energy before reaching * it. * *Command 5 - Damage Report * The damage report lists the main devices and * their state of repair. Devices are only listed * if damaged. The number appearing beside the * device in the status column indicates the * number of solar years which must pass before * that device is repaired. Devices are nonfunctioning * when damaged. The exception to this is the warp * engines which may only be used for sector moves. * Damage can occur any time a Klingon attacks and * shields are down or when a Klingon is rammed. * Note: all damages are repaired when docked. * *Command 6 and 7 - Energy Shields * Shield strength is a measure of how much energy * the shields can ward off during attacks. It is * printed after shield status during a short range * scan. When attacked shield strength is lowered * and the effect is cumulative. When the strength * reaches zero the shields are disabled and may be * regained by docking. Command 6 raises the shields * and uses 200 units of shield energy. * Command 7 lowers the shields. * *Command 8 - Teleporter * The teleporter instantaneously transports you to * your base and operates on energy from the base. * It can be used an unknown number of times but * not until 12 solar years have passed. After * any use it may become damaged but will not show * on the damage report. Any time used it may * malfunction and place the Enterprise in a random * quadrant! * *Command 9 - Self Destruct * If you want to give up your mission or decide * you cant save the Federation you may self * destruct the Enterprise. Upon entering this * sequence you will be asked for the password entered * earlier. Since you are the captain you should be * the only one with this information. If the wrong * word is entered the sequence will be aborted, * otherwise destruction will result! * * * When initializing the game you will be asked * 'S OR L ?'. This is for short or long version. * It is recommended that only short versions be * played at first since long ones tend to be very * difficult. * * When playing it is a good idea to keep track of * all quadrants seen by the long range scan. This * lets you keep track of where you have been and * where the Klingons are located. A sample * grid for this purpose appears on the short form * instruction sheet. * * Several unexpected events may happen during your * mission. A space storm will damage your shields. * Supernovas may appear at any time. Some Klingons * have the ability to mask themselves from a short * range scan (but not long range scan). It will * probably be necessary to use phasers to destroy * these Klingons. When using your warp engines, if * you try to leave the galaxy (go beyond the * stated boundaries) you will be told 'GALAXY * LIMIT' and halted. If this is attempted three * times during your mission the Enterprise will be * destroyed! * * --- Good luck on your mission --- *

by Daniel 2019-08-16 18:47 UTC
Thank you for the instructions Bill! Very appreciated :)

by nikola-wan 2020-11-29 22:43 UTC
Daniel, great work! I'm working on the Tektronix 4051 graphics computers that used the Motorola 6800 CPU. They had 32KB of RAM and 32KB of system ROM. I have a repository of hundreds of BASIC programs I have recovered on my github site: I actually ported an MC3 Colossal adventure game to run on the 4051! I also ported a Commodore PET adventure game to the 4052 - which has a custom 16-bit bit-slice CPU that emulates the 6800. Right now I'm trying to port the ADVENTUR.CMD for the 6800 to the 4051. I built your cmd2bin converter, but when disassembling the program - the initial load point is not the beginning of the code :( I had previously downloaded all the extra floppies from the Evenson site and believe I ran across the source code for the TSC Startrek program. I need to figure out how to 'fix' adventur to run on the 4052 computer. I have the ROM entry points, but likely need to avoid the low 2KB of RAM used by the ROM.

by Peter Johansson 2023-10-11 17:49 UTC
itoa pico 1-96 itoa ldaa #33 <--- test staa tmp ldab #9 chk tstb cmpb tmp bls add bra prnt add addb #10 adda #6 jmp chk prnt jsr ut_hex rts

by Peter Johansson 2023-10-14 11:25 UTC
itoa 8bit org $2000 mod_in rmb 1 p rmb 1 r5 rmb 1 buf rmb 4 tmp rmb 1 out_str: rts org $e000 ;----------------- ;itoa8, Value in A ;----------------- itoa8: pshb ldx #buf ldab #' ' stab 0,x inx stab 0,x inx ldab #0 stab 0,x ldx #buf+2 lo: staa r5 staa mod_in jsr modulo8 suba p adda #48 staa 0,x dex ldaa r5 jsr div10_8 cmpa #0 bne lo ldx #buf jsr out_str pulb rts ;----------------------- ; div10_8 ;----------------------- div10_8: staa tmp ldab #0 ldaa #0 dchk cmpb tmp bls dadd bra ret dadd addb #10 cmpa #25 beq ret2 adda #1 jmp dchk ret suba #1 ret2 rts ;--------------------------- ; modulo8 ;--------------------------- modulo8: pshb ldab #250 chkb cmpb mod_in bhi decr bra rdy decr subb #10 jmp chkb rdy stab p pulb rts

Write a comment

Name or handle

E-mail (optional and not visible to others)


Code from above