Instruction manual
face ;
face ; no error, move to next sector
face e1 pop HL ;recall dma address
facf 11 80 00 LD DE, 128 ;dma=dma+128
fad2 19 ADD HL,DE ;new dma address is in h, l
fad3 d1 pop DE ;recall sector address
fad4 c1 pop BC ;recall number of sectors remaining, and current trk
fad5 05 DEC b ;sectors=sectors-1
fad6 ca ef fa JP Z,gocpm ;transfer to cp/m if all have been loaded
fad9 ;
fad9 ; more sectors remain to load, check for track change
fad9 14 INC d
fada 7a LD a,d ;sector=27?, if so, change tracks
fadb fe 1b CP 27
fadd da ba fa JP C,load1 ;carry generated if sector<27
fae0 ;
fae0 ; end of current track, go to next track
fae0 16 01 LD d, 1 ;begin with first sector of next track
fae2 0c INC c ;track=track+1
fae3 ;
fae3 ; save register state, and change tracks
fae3 c5 PUSH BC
fae4 d5 PUSH DE
fae5 e5 PUSH HL
fae6 cd 66 fb call settrk ;track address set from register c
fae9 e1 pop HL
faea d1 pop DE
faeb c1 pop BC
faec c3 ba fa JP load1 ;for another sector
faef ;
faef ; end of load operation, set parameters and go to cp/m
faef gocpm:
faef 3e c3 LD a, 0c3h ;c3 is a jmp instruction
faf1 32 00 00 LD (0),A ;for jmp to wboot
faf4 21 03 fa LD HL, wboote ;wboot entry point
faf7 22 01 00 LD (1),HL ;set address field for jmp at 0
fafa ;
fafa 32 05 00 LD (5),A ;for jmp to bdos
fafd 21 06 ec LD HL, bdos ;bdos entry point
fb00 22 06 00 LD (6),HL ;address field of Jump at 5 to bdos
66










