MECHANICAL 24 2.2 1 ; 24 STEPS/IN, X,Y FACTOR IS 1  ; ADJUST FOR YOUR OWN
PLOTTER 1 1    4 ;     ; MAXIMUM STEP: 1 - INDEX IS 21
MODULE    ; THIS IS THE INITIALIZE MODULE - SUBOUTINE REQUIRED:
;                                 ORG 145H
;  000C                          GRAF EQU 12
;  0145'   3E 02                 INIT: LD A,2
;  0147'   0E 80                  LD C,128
;  0149'   21 0150'               LD HL,VPBG
;  014C'   CD 000C                CALL GRAF
;  014F'   C9                     RET
;  0150'   0000 0000             VPBG: DW 0,0,27FH,0F0H
;  0154'   027F 00F0             
;  0158'                         VP:
;  0158'   0000                  XA: DW 0
;  015A'   0000                  YA: DW 0
;  015C'   0000                  XB: DW 0
;  015E'   0000                  YB: DW 0
;  0160'   00                    PCONT: DEFB 0
;  0161'   AF                    CLEAR: XOR A
;  0162'   C3 000C                JP GRAF
;  0165'   AF                    PENUP: XOR A
;  0166'   32 0160'              PENBK: LD (PCONT),A
;  0169'   C9                     RET
;  016A'   CD 019F'              PENDN: CALL LINWRK
;  016D'   2A 01B6'              PENCTN: LD HL,(X1)
;  0170'   22 0158'               LD (XA),HL
;  0173'   2A 01B8'               LD HL,(Y1)
;  0176'   22 015A'               LD (YA),HL
;  0179'   3E 01                  LD A,1
;  017B'   18 E9                  JR PENBK
;  017D'   3A 0160'              DRAW: LD A,(PCONT)
;  0180'   B7                     OR A
;  0181'   C8                     RET Z
;  0182'   CD 019F'               CALL LINWRK
;  0185'   2A 01B6'               LD HL,(X1)
;  0188'   22 015C'               LD (XB),HL
;  018B'   2A 01B8'               LD HL,(Y1)
;  018E'   22 015E'               LD (YB),HL
;  0191'   3E 01                  LD A,1
;  0193'   06 02                  LD B,2
;  0195'   0E 51                  LD C,51H
;  0197'   21 0158'               LD HL,VP
;  019A'   CD 000C                CALL GRAF
;  019D'   18 CE                  JR PENCTN
;  019F'   EB                    LINWRK: EX DE,HL
;  01A0'   23                     INC HL
;  01A1'   4E                     LD C,(HL)
;  01A2'   23                     INC HL
;  01A3'   46                     LD B,(HL)
;  01A4'   ED 43 01B6'            LD (X1),BC
;  01A8'   23                     INC HL
;  01A9'   4E                     LD C,(HL)
;  01AA'   23                     INC HL
;  01AB'   46                     LD B,(HL)
;  01AC'   AF                     XOR A
;  01AD'   21 00EF                LD HL,239
;  01B0'   ED 42                  SBC HL,BC
;  01B2'   22 01B8'               LD (Y1),HL
;  01B5'   C9                     RET
;  01B6'   0000                  X1: DW 0
;  01B8'   0000                  Y1: DW 0
;                                 END
SUBR 117
3E 02 0E 80 21 50 01 CD 0C 00 C9 00 00 00 00 7F
02 F0 00 00 00 00 00 00 00 00 00 00 AF C3 0C 00
AF 32 60 01 C9 CD 9F 01 2A B6 01 22 58 01 2A B8
01 22 5A 01 3E 01 18 E9 3A 60 01 B7 C8 CD 9F 01
2A B6 01 22 5C 01 2A B8 01 22 5E 01 3E 01 06 02
0E 51 21 58 01 CD 0C 00 18 CE EB 23 4E 23 46 ED
43 B6 01 23 4E 23 46 AF 21 EF 00 ED 42 22 B8 01
C9 00 00 00 00
CALL 69 1 ;INITIALIZE
CALL 97 1 ; CLEAR SCREEN
RETURN
MODULE                    ; DISABLES PLOTTER
DISPLAY 7   ; RING BELL WHEN DONE
KEYBOARD 255 ; AWAIT ANY COMMAND
CALL 97 1 ; CLEAR SCREEN
RETURN   ;;;;; PUT ANY CUSTOM "DE-INITIALIZATION" HERE
MODULE                    ;PEN DOWN MODULE, JUST SET UP START OF LINE
CALL 106 1 
RETURN
MODULE                    ;PEN UP MODULE
CALL 101 1
RETURN
MODULE                    ;MOVE PEN NE DIRECTION
IDLE
MODULE                    ;MOVE PEN EAST DIRECTION (SAME FOR NEXT 7)
IDLE
MODULE                    ;MOVE PEN SE DIRECTION
IDLE
MODULE                    ;MOVE PEN SOUTH DIRECTION
IDLE
MODULE                    ;MOVE PEN SW DIRECTION
IDLE
MODULE                    ;MOVE PEN WEST DIRECTION
IDLE
MODULE                    ;MOVE PEN NW DIRECTION
IDLE
MODULE                    ;MOVE PEN NORTH DIRECTION
CALL 125 1
RETURN
MODULE                    ; NOW FOR "INTER-PLOT" PAUSE (?? ANY VALUE HERE)
RETURN
MODULE ;0
IDLE
MODULE
IDLE
MODULE
IDLE
MODULE
IDLE
MODULE
IDLE
MODULE
IDLE
MODULE
IDLE
MODULE
IDLE  
MODULE   ;8
IDLE
MODULE
IDLE
MODULE
IDLE
MODULE
IDLE
MODULE
IDLE
MODULE
IDLE
MODULE
IDLE
MODULE
IDLE  
MODULE   ;16
IDLE
MODULE
RETURN
MODULE 
RETURN
MODULE ; 19
WAIT 255
WAIT 255
WAIT 255
WAIT 255
WAIT 255
WAIT 255
WAIT 255
WAIT 255
IDLE
MODULE ; 20 (ERASE)
CALL 97 1
RETURN
MODULE
RETURN
MODULE
; INSERT PROPER CODES HERE IF N.S. EVER GOES COLOR -
RETURN
MODULE
END
