/VIDEO DISPLAY TEST PROGRAM. /SET SWITCHES TO DATA, AC0 = BAR/NORMAL (1/0) /TYPE 1 FOR RAMP, L FOR LOG, ANYOTHER FOR PARALLELS .ABS .LOC 1 JMP INTRUP .LOC 100 START IOF CAF LAC (61 DAC KEY JMS SET LAC (1 700724 /ENABLE DISPLAY INTERRUPT ION LOOP LAC INFLAG SNA JMP LOOP JMS SET JMP LOOP KEY 0 INFLAG 0 SET 0 /SET BUFFER ROUTINE LAC BUFAD TAD (-1 DAC 10 LAW -1000 DAC COUNT LAC KEY SAD (61 JMP RAMP SAD (114 JMP LOGS /LOG SCALE LAS /SET FOR PARALLELS DAC* 10 ISZ COUNT JMP .-2 JMP DONE RAMP LAS /SET FOR RAMP AND (377777 DAC YDEL /Y INCREMENT LAS AND (400000 DAC BAR DZM YAXIS CONT LAC YAXIS TAD BAR DAC* 10 LAC YAXIS TAD YDEL DAC YAXIS ISZ COUNT JMP CONT JMP DONE LOGS LAS /LOG SCALE DAC LOGINC DAC LOGY LOGA LAC LOGY JMS LOG DAC* 10 LAC LOGY TAD LOGINC DAC LOGY ISZ COUNT JMP LOGA JMP DONE DONE DZM INFLAG JMP* SET BAR 0 COUNT 0 YAXIS 0 YDEL 0 LOGY 0 LOGINC 0 INTRUP DAC AC /INTERRUPT ROUTINE 700701 SKP JMP DISPLY 700301 SKP JMP KEYBRD RETN LAC AC ION JMP* 0 AC 0 DISPLY 700712 /READ COLUMN, CLEAR FLAG TAD BUFAD DAC DISP1 LAC* DISP1 700704 /SEND Y VALUE JMP RETN DISP1 0 KEYBRD 700312 /READ KEYBOARD AND (177 SAD (3 JMP 17720 DAC KEY CLA!IAC DAC INFLAG JMP RETN / /CRUDE LOG APPROXIMATION FOR DISPLAY ONLY. LOG 0 DAC LOG0 /SAVE LAW -20 DAC LOGCNT LAC LOG0 LOG1 SPA JMP LOG2 CLL!RAL ISZ LOGCNT JMP LOG1 LOG2 RTR SWHA AND (77 DAC LOG3 /SAVE LAC LOGCNT /GET MSB CMA!IAC RTL /MULTIPLY BY 64 RTL RTL AND (7700 TAD LOG3 /ADD LINEAR APPROX PART JMP* LOG /RETURN LOGCNT 0 LOG3 0 LOG0 0 / BUFAD BUFAD+1 .BLOCK 1000 .END START