; EIDE bootstrap - chd@nktelco.net WC = 256. READ = 0040 DRQ = 0010 CSR = 171000 wdalt = 014 wddata = 020 wdcom = 036 ; post-reset drive statie is to operate on first sector of disk 0 reset ; force a bus reset tst r1 ; R1 is device CSR on entry bne 10$ ; or maybe it isn't mov #CSR,r1 10$: tstb wdalt(r1) ; wait until not busy bmi 10$ movb #READ,wdcom(r1) ; read first sector of disk 20$: bitb #DRQ,wdalt(r1) ; wait until drive has data ready beq 20$ clr r2 ; primary boot loaded at 0 mov #WC,r3 ; one sectors worth 30$: mov wddata(r1),(r2)+ ; empty the buffer dec r3 bne 30$ clr pc ; jump to primary boot .end