File VECTOR.SB (8k SABR macro assembler source file)

Directory of image this file is from
This file as a plain text file

/ 
/ 3	OS/8 - FORTRAN II DISPLAY - SOFTWARE FUER 4006-1
/ 
/  COPYRIGHT   (C)  1978 BY ERDOELCHEMIE GMBH, 5 KOELN 71
/ 
/ 
/ 
/                           *******
/                        ***       ***
/                     ***             ***
/                    *                   *
/                   *                     *
/                  *     EEEEE    CCC      *
/                  *     E       C   C     *
/                 *      E       C          *
/                 *      EEEE    C          *
/                 *      E       C          *
/                  *     E       C   C     *
/                  *     EEEEE    CCC      *
/                   *                     *
/                    *                   *
/                    *   *****   *****   *
/                    *   *   *   *   *   *
/                    *   *   *   *   *   *
/                    *****   *****   *****
/ 
/ 
/ 
/             BBBB  K   K       PPPP  DDDD  V   V
/             B   B K   K       P   P D   D V   V
/             B   B K  K        P   P D   D V   V
/             BBBB  KKK    ===  PPPP  D   D V   V
/             B   B K  K        P     D   D V   V
/             B   B K   K       P     D   D  V V
/             BBBB  K   K       P     DDDD    V
/ 
/ 
/ 
/                       1  999  77777  888
/                      11 9   9     7 8   8
/                     1 1 9   9    7  8   8
/                    1  1  999    7    888
/                       1     9   7   8   8
/                       1     9   7   8   8
/                       1  9999   7    888
/ 
/ 
/ 
/      27-JAN-78                       W. HOUBEN
/ 
/      LETZTE AENDERUNG :	30-JAN-78	SPEED UP CHANGES
/ 
/      ENTRYPOINTS :   PLOT,   PLOTS,  WHERE,  FACTOR, PLINIT
/ 

ABSYM TOPS8 1 OPDEF KRS 6034 OPDEF JMPI 5400 OPDEF MQA 7501 OPDEF MQL 7421 ENTRY PLOT DUMMY \JPEN DUMMY \YPAGE DUMMY \XPAGE /********************************************************** / UNTERPROGRAMM PLOT ( XPAGE , YPAGE , IPEN ) /********************************************************** \XPAGE, BLOCK 2 \YPAGE, BLOCK 2 \JPEN, BLOCK 2 \XPOS, BLOCK 3 \YPOS, BLOCK 3 \IPEN, BLOCK 1 \FACT, BLOCK 3 \LUN, BLOCK 1 \IX, BLOCK 1 \IXORG, BLOCK 1 \IY, BLOCK 1 \IYORG, BLOCK 1 XPNT, \XPAGE PNTR, 0 CNTR, 0 ]A, BLOCK 3 ]6, 2066;2270;5333 ]3, 2065;7501;3702 PLOT, BLOCK 2 TAD XPNT DCA PNTR TAD (-6 DCA CNTR A1, TAD I PLOT INC PLOT# DCA I PNTR INC PNTR ISZ CNTR JMP A1 / / X UND Y - KOORDINATEN UEBERNEHMEN, MIT DEM MASS- / STABSFACTOR UND DEN SCALENFACTOREN MULTIPLIZIEREN / UND UMWANDELN IN INTEGER DARSTELLUNG. / / XPOS = XPAGE * FACT / CALL 1,IFAD ARG \XPAGE CALL 1,FMP ARG \FACT CALL 1,STO ARG \XPOS / YPOS = YPAGE * FACT CALL 1,IFAD ARG \YPAGE CALL 1,FMP ARG \FACT CALL 1,STO ARG \YPOS / IPEN = JPEN TAD I \JPEN DCA \IPEN / / UMRECHNEN DER KOORDINATEN IN INCREMENTE UND / URSPRUNG ADDIEREN. / /105 IX = IXORG + IFIX( XPOS * 47.6279 ) CALL 1,FAD ARG ]3 CALL 1,FMP ARG \XPOS CALL 0,FIX TAD \IXORG DCA \IX / IY = IYORG + IFIX( YPOS * 50.3607 ) CALL 1,FAD ARG ]6 CALL 1,FMP ARG \YPOS CALL 0,FIX TAD \IYORG DCA \IY / / / VECTOR TYP TESTEN / TAD \IPEN SMA CLA JMP \140 / TAD \IX DCA \IXORG TAD \IY DCA \IYORG TAD \IPEN CIA DCA \IPEN / \140, TAD \IPEN TAD (-2 SNA CLA JMP \170 / OUTPUT LIGHT VECTOR / TAD \IPEN TAD (-3 SZA CLA JMP \150 / TAD (35 JMS OUTPUT JMP \170 / OUTPUT DARK VECTOR / \150, TAD \IPEN TAD (-4 SZA CLA JMP \160 / TAD (33 JMS OUTPUT TAD (14 JMS OUTPUT TAD (-100 DCA WCTR / LOAD WAIT COUNTER DCA NULL LP1, ISZ NULL JMP LP1 ISZ WCTR JMP LP1 TAD (35 JMS OUTPUT JMP \170 / \160, TAD \IPEN TAD (-1747 SZA CLA JMP \190 TAD (15 JMS OUTPUT TAD (12 JMS OUTPUT JMP \190 / NULL, 0 WCTR, 0 / / X- UND Y-KOORDINATEN IN STEUERZEICHEN FUER / TEKTRONIXS 4006-1 GRAPHIC DISPLAY UMRECHNEN / \170, TAD \IY RTR;RTR;RAR AND (37 TAD (40 JMS OUTPUT TAD \IY AND (37 TAD (140 JMS OUTPUT TAD \IX RTR;RTR;RAR AND (37 TAD (40 JMS OUTPUT TAD \IX AND (37 TAD (100 JMS OUTPUT / /190 RETURN \190, CLA CLL RETRN PLOT / / AUSGABE - UNTERPROGRAMM / OUTPUT, 0 TLS CLA CLL JMP I OUTPUT
DUMMY \JLUN DUMMY \NLOC DUMMY \IBUF ENTRY PLOTS ENTRY PLINI /********************************************************** / UNTERPROGRAMM PLOTS ( IBUF , NLOC , LUN ) /********************************************************** \IBUF, BLOCK 2 \NLOC, BLOCK 2 \JLUN, BLOCK 2 ]61, 0 0 0 ]31, 2014 0 0 / SUBROUTINE PLOTS ( IBUF , NLOC , JLUN ) PLINI, PLOTS, BLOCK 2 / FACT = 1. CALL 1,FAD ARG ]31 CALL 1,STO ARG \FACT DCA \IXORG DCA \IYORG / / CALL PLOT ( 0.0 , 0.0 , -4 ) CALL 3,PLOT ARG ]61 ARG ]61 ARG (-4 / / RETURN TAD PLOTS# TAD (6 DCA PLOTS# RETRN PLOTS /
DUMMY \FACTO ENTRY FACTO /********************************************************** / UNTERPROGRAMM FACTOR ( FACT ) /********************************************************** \FACTO, BLOCK 2 / SUBROUTINE FACTOR (FACTOR) FACTO, BLOCK 2 TAD I FACTO DCA \FACTO INC FACTO# TAD I FACTO DCA \FACTO# INC FACTO# / FACT = FACTOR CALL 1,IFAD ARG \FACTO CALL 1,STO ARG \FACT / / RETURN RETRN FACTO /
ENTRY WHERE /********************************************************** / UNTERPROGRAMM WHERE ( X , Y , FACT ) /********************************************************** / SUBROUTINE WHERE ( XPAGE , YPAGE , FACTOR ) WHERE, BLOCK 2 TAD I WHERE DCA \XPAGE INC WHERE# TAD I WHERE DCA \XPAGE# INC WHERE# TAD I WHERE DCA \YPAGE INC WHERE# TAD I WHERE DCA \YPAGE# INC WHERE# TAD I WHERE DCA \FACTO INC WHERE# TAD I WHERE DCA \FACTO# INC WHERE# / XPAGE = XPOS CALL 1,FAD ARG \XPOS CALL 1,ISTO ARG \XPAGE / YPAGE = YPOS CALL 1,FAD ARG \YPOS CALL 1,ISTO ARG \YPAGE / FACTOR = FACT CALL 1,FAD ARG \FACT CALL 1,ISTO ARG \FACTO / / RETURN RETRN WHERE / / END END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search