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

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

/ SUBROUTINE IN SABR
/ SCHREIBT VEKTOR AUF TERMINAL-DISPLAY 4010
/ WENN IA>0 : HELLER VEKTOR NACH IX,IY
/ WENN IA<0 : HELLER PUNKT NACH IX,IY
/ WENN IA=0 : ERREGT GRAPHIC MODE
/ 	      DUNKLER VEKTOR NACH IX,IY
/ WIRD GERUFEN : CALL TPLOT(IA,IX,IY)
	ENTRY TPLOT
	DUMMY AS
	DUMMY IXS
	DUMMY IYS
AS,	BLOCK 2
IXS,	BLOCK 2
IYS,	BLOCK 2
APNT,	AS
PNTR,	0
CNTR,	0
XVALU,	0
YVALU,	0
GS,	35
US,	37
P1023,	1777
P780,	1414
BIT6,	40
BIT67,	140
BIT7,	100
TPLOT,	BLOCK 2
	TAD APNT
	DCA PNTR
	TAD (-6
	DCA CNTR
A,	TAD I TPLOT
	INC TPLOT#
	DCA I PNTR
	INC PNTR
	ISZ CNTR
	JMP A
	TAD I AS
	SNA		/ SKIP IF NOT
	JMP IDV		/ INITIALIZE AND DARK VECTOR
	SMA CLA		/ SKIP IF POINT PLOT
	JMP BRV		/ GO BRIGHT VECTOR
	TAD GS		/ SIMULATE BY DARK VECTOR
	JMS CHOUT	/ TO THE POINT
	JMS SETXY	/ TO WHICH TO PLOT
	TAD XVALU	/ AND THEN OUTpUT
	AND US		/ THE LOW ORDER X
	TAD BIT7	/ TO ILLUMINATE THE
	JMS CHOUT	/ POINT 
	RETRN TPLOT
IDV,	TAD GS		/ GS TO DARK VECTOR
	JMS CHOUT	/ OUTPUT IT
BRV,	JMS SETXY	/ OUTPUT THE VECTOR COORDINATES
	RETRN TPLOT
SETXY,	0		/ ENTER TO OUTPUT VECTOR COORDINATES

TAD I IXS SPA / CHECK FOR ON SCREEN CLA / THEN SET TO LEFT EDGE DCA XVALU TAD XVALU CMA IAC / SUBTRACT FROM RIGHT EDGE TAD P1023 / AND SAVE THE DIFFERENCE SMA / TO MOVE BACK IF NOT THERE CLA / OR USE THE VALUE TAD XVALU / FROM THE CALLER IF GOOD DCA XVALU / TO OUTPUT LATER TAD I IYS SPA / SAME TEST AS FOR X CLA / ONLY DIFFERENT LIMITS DCA YVALU / FOR THE TOP OF SCREEN TAD YVALU CMA IAC TAD P780 SMA CLA TAD YVALU DCA YVALU TAD YVALU / FETCH FOR Y OUTPUT RTR RTR / THIS IS A SHIFT RIGHT 5 RAR / FOR THE HI ORDER Y BITS AND US / MASK FOR HI FIVE TAD BIT6 / SET THE TAG BIT JMS CHOUT / OUTPUT THE HI Y TAD YVALU AND US / AND MASK FOR THE LOW VALUE TAD BIT67 / ADD TAG BIT JMS CHOUT / AND SEND IT TAD XVALU / START ON HIGH X RTR / AND SHIFT RIGHT RTR / FIVE PAST LOW ORDER RAR / BITS AND US / AND MASK BACK FOR HI TAD BIT6 / SET TAG BITS JMS CHOUT / OUTPUT THE HI X TAD XVALU / FETCH BACK X AND US / MASK FOR LOW ONLY TAD BIT7 / SET TAG BITS JMS CHOUT / OUTPUT AND RETURN WITH A=0 JMP I SETXY / EXIT TO CONTROL CHOUT, 0 B, TSF JMP B TLS CLA JMP I CHOUT 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