Instruction manual

083f ;Write track 1, sectors 1 to 25
083f 0e 01 wr_trk_1: ld c,1
0841 cd 1e fa call settrk
0844 2a 81 08 ld hl,(address)
0847 11 80 00 ld de,128
084a 19 add hl,de
084b 22 81 08 ld (address),hl
084e 3e 01 ld a,1
0850 32 80 08 ld (sector),a
0853 3a 80 08 wr_trk_1_loop: ld a,(sector)
0856 4f ld c,a ;CP/M sector
0857 cd 21 fa call setsec
085a ed 4b 81 08 ld bc,(address) ;memory location
085e cd 24 fa call setdma
0861 cd 2a fa call write
0864 3a 80 08 ld a,(sector)
0867 fe 19 cp 25
0869 ca 7d 08 jp z,done
086c 3c inc a
086d 32 80 08 ld (sector),a
0870 2a 81 08 ld hl,(address)
0873 11 80 00 ld de,128
0876 19 add hl,de
0877 22 81 08 ld (address),hl
087a c3 53 08 jp wr_trk_1_loop
087d c3 6f 04 done: jp monitor_warm_start
0880 00 sector: db 00h
0881 00 00 address: dw 0000h
0883 end
# End of file putsys.asm
0883
CP/M loader
# File cpm_loader.asm
0000 ;Retrieves CP/M from disk and loads it in memory starting at E400h
0000 ;Uses calls to ROM routine for disk read.
0000 ;Reads track 0, sectors 2 to 26, then track 1, sectors 1 to 25
76