; BOOTSTRAP FOR RX50 DISCS ; BASICALLY SAME AS DEC ONE .=0 240 BR P1 .WORD 6,0,12,0,0,0,172150 P1: 240 BR P2 .WORD 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 .WORD 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 .WORD 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 .WORD 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 P2: ; AT 254 ? CLR R1 MOV #100000,R2 MOVEL: MOV (R1)+,(R2)+ CMP R1,#600 BLT MOVEL; MOVE UP TO 100000 (NOT SAME AS DEC) JMP MOVEP+100000; AND GO TO IT MOVEP: MOV #172150,R1; ADDR OF RX50 MOV R0,(R1)+; KICK H/W MOV #4000,R5; STEP 1 MOV PC,R3; QUICK POINTER TO TABLE BR IST TABLE: .WORD 100000,100244,0,1 .WORD 11,0,0,0 .WORD 41,70000,1,1000 IST: TST (R3)+ ILOOP: TST @R1 BPL .+2 HALT BIT (R1),R5; STEP COMPLETED? BEQ ILOOP; NO, SO WAIT MOV (R3)+, (R1); NEXT PARAM ASL R5; R5=NEXT STEP BPL ILOOP; MORE TO GO SLOOP:MOV #100040,R2 CLOOP: CLR (R2)+ CMP R2,#100244 BNE CLOOP INCB @#100160 CLR 100156 MOV #60,100154 CLR 100072 MOV #60,100070 CLR 100242 CLR 100240 MOV (R3)+, 100170; OPCODE MOV (R3)+, 100174; WORD COUNT MOV (R3)+, 100214; BLOCK NUMBER CLR 100200; BUS ADDRESS MOV R0,100164; UNIT NUMBER MOV R0,100220 MOV #100074,(R2)+; R2->RING MOV R5,(R2)+; R5=100000 MOV #100160,(R2)+ MOV R5,(R2)+ MOV -2(R1),R2; KICK INTERFACE X: TST 100246; READY ? BMI X; NO MOV 100106,R2; STATUS? BIC #177740,R2 BEQ Y HALT Y: TST (R3)+ BEQ SLOOP; WAS STILL POINTING AT BUS ADDRESS JMP 400; ENTER DEIMOS .END