;; An example boot sector.
;; The boot sector is located on track 0, side 0,sector &41, and 
;; is executed with a |CPM command. A maximum of 512 bytes will be loaded to &100
;; in RAM. This sector *must* exist for the disc to be started with the |CPM command.
;; If the disc is formatted to SYSTEM or VENDOR format, then the directory 
;; will start on track 2, side 0, sector &41. Otherwise, the disc may use
;; a custom format for the remainder of track 0 and subsequent tracks.
;; If a directory doesn't exist, then you must use sector read/write functions to load
;; data.

;; The boot sector is loaded to &100 in memory and executed.

org &100

.km_wait_char equ &bb06
.txt_output equ &bb5a


;; display a message
ld hl,message
call print
;; wait for a keypress
call km_wait_char
;; soft-reset CPC
rst 0


ld a,(hl)
inc hl
or a
ret z
call txt_output
jp display_message


defb "Hello, this is a boot sector program",0