| 1 | * COPY - COPY PTR TO PTP |
| 2 | * |
| 3 | * |
| 4 | * |
| 5 | * |
| 6 | SUBR COPY,STRT |
| 7 | REL ASSEMBLE IN RELOCATABLE MODE |
| 8 | ORG 0 |
| 9 | * |
| 10 | *********************** |
| 11 | * MAIN LOOP |
| 12 | STRT |
| 13 | |
| 14 | OCP '102 START PTR ??? |
| 15 | OCP '104 START PTP ??? |
| 16 | LDA ABUF FIRST BUFFER ADDRESS |
| 17 | STA WBUF TO WRITE POINTER |
| 18 | STA RBUF TO READ POINTER |
| 19 | |
| 20 | JST READ |
| 21 | JST WRIT |
| 22 | JMP STRT |
| 23 | * |
| 24 | * |
| 25 | *********************** |
| 26 | * READ ROUTINE |
| 27 | READ DAC ** |
| 28 | SS1 SKIP IF SW1 SET |
| 29 | JMP* READ RETURN |
| 30 | LDA RPTR READ POINTER |
| 31 | CMP WPTR COMPARE WRITE POINTER |
| 32 | SKP SKIP |
| 33 | |
| 34 | |
| 35 | *********************** |
| 36 | * WRITE ROUTINE |
| 37 | WRIT DAC ** |
| 38 | SS2 SKIP IF SW1 SET |
| 39 | JMP* WRIT RETURN |
| 40 | |
| 41 | |
| 42 | RPTR DAC ** READ POINTER |
| 43 | WPTR DAC ** WRITE POINTER |
| 44 | ABUF OCT '1000 FIRST BUFFER LOCATION |
| 45 | EBUF OCT '2000 LAST BUFFER LOCATION |
| 46 | |
| 47 | |
| 48 | |
| 49 | STRT JMP ST2 JUMP OVER CONSTANTS |
| 50 | ANFA OCT 20 |
| 51 | ENDE DAC STRT-1 |
| 52 | ST2 LDA ANFA LOAD START ADDRESS |
| 53 | STA PTR |
| 54 | LOOP CRA |
| 55 | STA* PTR STORE THE ZERO |
| 56 | LDA PTR |
| 57 | SUB ENDE TEST FOR |
| 58 | SNZ LAST LOCATION? |
| 59 | JMP RDY IF LAST LOCATION, END |
| 60 | IRS PTR |
| 61 | JMP LOOP NO OVERFLOW |
| 62 | HLT OVERFLOW OCCURED |
| 63 | RDY OCP '104 ASR START |
| 64 | * |
| 65 | LDA KO |
| 66 | JST PRNT |
| 67 | LDA LFCR |
| 68 | JST PRNT |
| 69 | HLT |
| 70 | JMP STRT RESTART :-) |
| 71 | ******* |
| 72 | KO BCI 1,KO |
| 73 | LFCR OCT '6412 |
| 74 | ******* |
| 75 | PRNT DAC ** |
| 76 | OTA 4 OUTPUT CHAR |
| 77 | JMP *-1 REPEAT UNTIL POSSIBLE |
| 78 | ICA NEXT CHAR |
| 79 | OTA 4 |
| 80 | JMP *-1 |
| 81 | JMP* PRNT RETURN |
| 82 | ***** |
| 83 | PTR DEC 0 LOCATION POINTER |
| 84 | ***** |
| 85 | END |