SC/MP Software Library

I have compiled a library of programs for the MK14 and other SC/MP machines. 

All source code files are in SBASM format.

MK14 Software

Application  Address Size
(bytes)
Description Author Source Code Assembler Listing Object Code
Load Execute Binary Intel Hex
Digital Alarm Clock $0F12 $0F20 113 Gives a continuously changing display of the time in hours, minutes and seconds MK14 Manual example* digitalalarmclock.asm     digitalalarmclock.hex
Decimal to Hex $0F50 $0F50 172 Converts decimal number entered at keyboard to hex and displays result (relocatable) MK14 Manual example* dectohex.asm     dectohex.hex
Divide $0F80 $0F80 54 Divides an unsigned 16-bit number by an unsigned 8-bit number giving 16-bit quotient and 8-bit remainder (relocatable) MK14 Manual example* divide.asm     divide.hex
Duckshoot $0F12 $0F12 69 Simulates ducks flying across the skyline MK14 Manual example* duckshoot.asm     duckshoot.hex
Function Generator $0E80 $0E80 31 Produces a periodic waveform by outputting values from memory cyclically to a D/A MK14 Manual example* function_generator.asm     function_generator.hex
Greatest Common Divider $0F20 $0F20 47 Finds greatest common divisor of two 16-bit unsigned numbers, uses Euclid's algorithm (relocatable) MK14 Manual example* gcd.asm     gcd.hex
Mastermind $0F1C $0F1C 215 The original code guessing game MK14 Manual example* mastermind.asm     mastermind.hex
Message $0F20 $0F26 38 Gives a moving display of segment arrangements according to the contents of memory MK14 Manual example* message.asm     message.hex
Moon Landing $0F05 $0F52 87 Simulates the landing of a rocket on the moon MK14 Manual example* moonlanding.asm     moonlanding.hex
Multiply $0F50 $0F50 41 Multiplies two unsigned 8-bit numbers (relocatable) MK14 Manual example* multiply.asm     multiply.hex
Music Box $0F12 $0F46 171 Plays tunes stored in memory in coded form MK14 Manual example* musicbox.asm     musicbox.hex
Organ $0F20 $0F20 30 Generates a different note for each key of the keyboard MK14 Manual example* organ.asm     organ.hex
Pulse Delay $0F20 $0F20 28 uses a block of memory as a long shift register(relocatable), uses Serial In/Out MK14 Manual example* pulsedelay.asm     pulsedelay.hex
Random Noise $0F20 $0F20 20 Generates a pseudo random sequence of 216-1 or 65535 bits at the flag output MK14 Manual example* randomnoise.asm     randomnoise.hex
Reaction Timer $0F20 $0F20 170 Gives a readout in mS of the time taken to respond to an unpredictable event MK14 Manual example* reaction_timer.asm reaction_timer.hex
Relocator $0F20 $0F20 54 Moves a block of memory 'From' source start address 'T' destination start address, 'Length' = number of bytes (relocatable) MK14 Manual example* relocator.asm     relocator.hex
Self Replicating Program $0F12 $0F12 24 Makes a copy of itself at the next free memory location MK14 Manual example* replicate.asm     replicate.hex
Serial In $0000 $0000 32 Serial data input routine MK14 Manual example* serin.asm     serin.hex
Serial out $0000 $0000 27 Serial data output routine MK14 Manual example* serout.asm     serout.hex
Silver Dollar $0F12 $0F28 220 A game where a number of coins are moved along a line of squares MK14 Manual example* silverdollar.asm     silverdollar.hex
Square Root $0F20 $0F20 39 Gives square root of 16-bit unsigned number, integer part only (relocatable) MK14 Manual example* sqroot.asm     sqroot.hex
Maze $0F10 $0F12 425 A Maze game running on the 7-segment display Computing Today May 1979, Assembler listing by Tim Gilberts maze.asm maze.list   maze.hex

 

* MK14 Manual examples have been converted to SBASM by Slothie+

+Vintage Radio Forum members

 

MK14 Software for the VDU

Application  Address Size
(bytes)
Description Author Source Code Assembler Listing Object Code VDU Configuration VDU Link Settings
Load Execute Binary Intel Hex Original VDU MK14E VDU
Inside $0200 n/a 512 An 'SCMP Inside' image SiriusHardware+ n/a n/a   inside.hex Address: $0200-$03FF
Graph/Char: High
Reverse: Low
Top: A8
b10: High; b11,12: Low
b14: take High
b15: take Low
b17: link to b9
S1 3,4 On*
LK3 removed
LK2: fitted
LK1: A8
Clive $0200 n/a 512 An image of Sir Clive Sinclair SiriusHardware+ n/a n/a   clive.hex Address: $0200-$03FF
Graph/Char: High
Reverse: Low
Top: A8
b10: High; b11,12: Low
b14: take High
b15: take Low
b17: link to b9
S1 3,4 On*
LK3 removed
LK2: fitted
LK1: A8
Falling Man $0F20 $0F20 138 The Falling Man Practical Electronics December 1979 the_falling_man.asm the_falling_man.list the_falling_man.bin the_falling_man.hex Address: $0B00-$0CFF
Graph/Char: High
Reverse: Low
Top: A8
b10,12: High; b11: Low
b14: take High
b15: take Low
b17: link to b9
S1 3 On*
LK3 removed
LK2: fitted
LK1: A8
Invader2 $0400 $0400 1013 A space invaders game Realtime+ invader2.asm invader2.list invader2.bin invader2.hex Address: $0200-$03FF
Graph/Char: Low
Reverse: High
Top: A8
VDU Address: $0200
Graph/Char: Low
Reverse: High
Top: link to b9
S1 3,4 On*
LK3 0V
LK2: removed
LK1: A8
VDU Test 1 $0200 n/a 512 A test screen for the VDU, actually just a sequence from $00 to $FF repeated   n/a n/a vdu_test1.bin vdu_test1.hex Address: $0200-$03FF
Graph/Char: Low
Reverse: Low
Top: A8
b10: High; b11,12: Low
b14: take Low
b15: take Low
b17: link to b9
S1 3,4 On*
LK3 0V
LK2: fitted
LK1: A8
Moonlander $0400
$0F14
$0B00
      Realtime+ moonlander.asm moonlander.list moonlander.hex Address: $0200-$03FF
Graph/Char: Low
Reverse: Low
Top: A8
b10: High; b11,12: Low
b14: take Low
b15: take Low
b17: link to b9
S1 3,4 On*
LK3 0V
LK2: fitted
LK1: A8
Connect4 $0400
$0B40
    The classic Connect 4 game Realtime+       connect4_v1.hex Address: $0200-$03FF
Graph/Char: Low
Reverse: Low
Top: A8
b10: High; b11,12: Low
b14: take Low
b15: take Low
b17: link to b9
S1 3,4 On*
LK3 0V
LK2: fitted
LK1: A8
Solitaire O $0200
$0400
$0880
$0B00
$0F3F
$0400   for Original VDU Coolsnaz2+ solitaire_v1o.asm solitaire_v1o.list   solitaire_v1o.hex Address: $0200-$03FF
Graph/Char: Low
Reverse: Low
Top: A8
b10: High; b11,12: Low
b14: take Low
b15: take Low
b17: link to b9
S1 3,4 On*
LK3 0V
LK2: fitted
LK1: A8
Solitaire R $0200
$0400
$0880
$0B00
$0F3F
$0400   for RealView VDU Coolsnaz2+ solitaire_v1r.asm solitaire_v1r.list   solitaire_v1r.hex Address: $0200-$03FF
Graph/Char: Low
Reverse: Low
Top: A8
b10: High; b11,12: Low
b14: take Low
b15: take Low
b17: link to b9
S1 3,4 On*
LK3 0V
LK2: fitted
LK1: A8
Snake $0200
$0F28
$0500   A classic vintage game where you have to steer the snake around the screen and eat the 'apples'. Realtime+ snake_v1.asm snake_v1.list   snake_v1.hex Address: $0200-$03FF
Graph/Char: Low
Reverse: Low
Top: A8
b10: High; b11,12: Low
b14: take Low
b15: take Low
b17: link to b9
S1 3,4 On*
LK3 0V
LK2: fitted
LK1: A8
Tetris           tetris_v21r.asm tetris_v21r.list   tetris_v21r.hex      
                         

 

* all other S1 switches are OFF

 

+Vintage Radio Forum members

 

 

SC/MP Software for Other Platforms

 

To follow

 

 

 

Back to MK14

 

Acorn Home Page