Instruction manual
fd32 00... chk00: defs 16 ;check vector 0
fd42 00... chk01: defs 16 ;check vector 1
fd52 00... chk02: defs 16 ;check vector 2
fd62 00... chk03: defs 16 ;check vector 3
fd72 ;
fd72 enddat: equ $ ;end of data area
fd72 datsiz: equ $-begdat; ;size of data area
fd72 00... hstbuf: ds 256 ;buffer for host disk sector
fe72 end
# End of file z80_cbios.asm
fe72
Format
# File format.asm
0000 ;Formats four classical CP/M disks
0000 ;Writes E5h to 26 sectors on tracks 2 to 77 of each disk.
0000 ;Uses calls to cbios, in memory at FA00h
0000 seldsk: equ 0fa1bh ;pass disk no. in c
0000 setdma: equ 0fa24h ;pass address in bc
0000 settrk: equ 0fa1eh ;pass track in reg C
0000 setsec: equ 0fa21h ;pass sector in reg c
0000 write: equ 0fa2ah ;write one CP/M sector to disk
0000 monitor_warm_start: equ 046fh
0000 org 0800h
0800 31 09 09 ld sp,format_stack
0803 3e 00 ld a,00h ;starting disk
0805 32 64 08 ld (disk),a
0808 4f disk_loop: ld c,a ;CP/M disk a
0809 cd 1b fa call seldsk
080c 3e 02 ld a,2 ;starting track (offset = 2)
080e 32 66 08 ld (track),a
0811 3e 01 track_loop: ld a,1 ;starting sector
0813 32 65 08 ld (sector),a
0816 21 69 08 ld hl,directory_sector ;address of data to write
0819 22 67 08 ld (address),hl
081c 3a 66 08 ld a,(track)
081f 4f ld c,a ;CP/M track
0820 cd 1e fa call settrk
73










