Minotaur - a KIM-1 BASIC game

a handdrawn minotaurus

This game is a gem!

Why?
Because it uses some hardcore BASIC features of KIM-1's KB9:
- a call for the machine language coded output routine,
- the RND generator, that uses the RRIOT's timer as seed
- the ESC command output routines for a better presentation.

All added and optimized by Dave Hassler for your entertainment. /me love it.

How does the output routine work? The map is stored from $0300 to $0364 The output routine is poked into the memory from line 1300 on and, disassembled something like this:

; output routine for minotaur
; by dave hassler

         .org    $0380
begin:   ldx     #$00
         lda     #$0a
         sta     $dd
newline: lda     #$0a       ;10 per line
         sta     $de
prntbrd: lda     #$20       ;space
         jsr     $1ea0
         lda     $0300,x
         jsr     $1ea0
         inx
         dec     $de
         bne     prntbrd    ;end  of line?
         lda     #$0d
         jsr     $1ea0
         lda     #$0a
         jsr     $1ea0
         cpx     #$64       ;all 100 numbers?
         bne     newline
         rts

It is a lot faster than peeking every byte in basic and then call the print routine. What a nice hack!

What is the game about?
You (+) are trapped in Minotaurus (M) Labyrinth. Grab some treasures (the numbers) and head to the exit (*). The minotaur moves towards you every time you grab a trasure with a value >4. If you get caught, you are dead. At the exit you are asked about a secret number between 1-100. You get a random hint every time you pass a (/). If you anwser correct you can keep the trasures, if not you lose everything. You visit each space once.

enter image description here

FROM 'COMMODORE 16 GAMES BOOK' BY CAMERON DUFFY & RICHARD WOOLCOCK, 1984, (C) BEAM SOFTWARE TRANSLATION & STACK FIXES FOR KIM-1 BASIC 9 (PATCHED TO FIX THE GET$ STATEMENT) BY DAVE HASSLER, 2026

Enough said, here are the sources: https://drive.google.com/file/d/1K4mWWYaSmOt9enZG--0A_BtcdNoVncPR/view?usp=sharing

webdoc