d"X;-----------------------------nX;xX;The Enlarge RoutineX;for the BBK ArtistX;X;by: Bryan SchappelX;"X;-----------------------------X;"X;This routine will REFRESH theX;screen and the actual sizeX;'slider'.X;REFRESH$TOPY QTOPXV?V? RR_QUAD FR_ADD1" PR_QUAD, CLR_TOP6 QR_QUAD@R_ADD1PSCRJ,T OYLO9^PMLOh QYHI9rO>|PMHI Q>5REALSZ PSCR Q>4GR0SCR PSCR2 Q>5GR0SCR PSCR2$>;;20 linesREF_LP%> REF_L2Q@MLO7 P@SCR7 P@SCR271 IREF_L2 QSCR2,O> & PSCR20QMLO:,DO>(NPMLOXQMHIbO>lPMHIvQSCR,O>(PSCR QSCRO> PSCR0 IREF_LP:X;#X;This gets the X,Y of the point X;to plot.X;GET_XYQTOPX ,OCRX PPTX* QTOPY4,>OCRYHPPTYR:\X;f X;This erases the GR7+ SliderpX;zCLR_TOPQ>?CLR_T1PREALSZ8PREALSZ8PREALSZ8PREALSZ83 HCLR_T1:X;X;This is the EnlargerX;NLARGE COPY12 CLR_TOP SCRNDL3Q> PTOPX$ PTOPY. PR_QUAD8Q>BPCRXLV?VPCRY` Q>4GR3DLj PSDLSTLt Q>5GR3DL~PSDLSTLQ>  PPCOLR0Q> PSIZEP0 LGPLR REFRESH !NL_R1NL_LOOPQSTICK0$>NL_1RSTCKP9 FNL_MV0 INL_1 $>QCHR>,( FNL_UPP2NL_2RSTKEY9< FNL_MVF0P INL_2Z QCONSOLdR>n HNL_TRx QPCOLR0,O>M> PPCOLR0 SWTC !NL_LOOPNL_UPP MOV_UPP !NL_LOOPX; NL_MVAT?> QNL_TAB9PNL_JMPQNL_TAB9PNL_JMP"NL_JMP , F_ROVL6NL_R1 GET_XY@ DO_XYPJX;TNL_OK REFRESH^ LGPLRhNL_TR CK_OPTr HNL_T|:NL_TQSTRIG0 HNL_WAIT GET_XY THEPLT REFRESHNL_WAIT WAIT WAIT !NL_LOOPX; X;This draws the large playerX;LGPLR CLRPMQCRXT?T?,&O>,0 PHPOSP0:QCRYDT?NT?XT?b,lO>/v?Q>@ DO_PLRQ> DO_PLRQ>@X;DO_PLR$>DO_PL2PPLR0830 IDO_PL2:X;X;Move Nlarge Up X;NL_UP"CRY  INLUL*#CRY4 QTOPY> FNLULH "TOPYR NLUL:\X;fX;Move Nlarge DownpX;zNL_DN#CRYQCRYR> DNLUL"CRY GET_XYQPTYR> FNLUL #TOPY HNLULX;X;Move Nlarge LeftX; NL_LF"CRX INLUL #CRX$ QTOPX. FNLUL8 ;B S>L PTOPXV Q>` PCRXj HNLULt X;~ X;Move Nlarge Right X; NL_RT#CRX QCRX R>( DNLUL "CRX GET_XY QPTX R> FNLUL QTOPX , O> PTOPX Q>$ PCRX( HNLUL2 X;< X;Move Up/RightF X;P NL_D1 NL_UPZ !NL_RTd X;n X;Move Up/Leftx X; NL_D2 NL_UP !NL_LF X; X;Move Down/Right X; NL_D3 NL_DN !NL_RT X; X;Move Down/Left X; NL_D4 NL_DN !NL_LF X; X;Movement Table X; NL_TAB NL_RT" NL_LF, NL_UP6 NL_DN@ NL_D1J NL_D3T NL_D2^ NL_D4h X;r X;Show Text Direction| X; ST_DIR%T_DIR QTXT_DIR8 PTXT_PRM : X; X;Invert Text Parameter X; T_UNINVERT TXT_PRM= $DIR_NM QDIR_TAB9 > %> TUN_1QTXT_PRM9 L> PTXT_PRM9 2& 10 ITUN_1: :D X;N !X;Set Parameters for Text ModeX X;b TEXT_P SETNARl Q>4DL_TXTv PSDLSTL Q>5DL_TXT PSDLSTL %> INS_PRM ST_DIR Q> PPC_MODE PDIR_NM INVERT TXT_PRM= TEXT_P2%>;;20 chars #TEXT? INPUT QMYBUF R>EOL FTEXT_P2 %> TEXT_P3QMYBUF8* PTEXT_BUF84 1> ITEXT_P3H X;R X;Get Rotation\ X;f T_UNp GT_DIRQSTRIG0z FG_N1 QSTICK0 $> R>;;right? FG_GIR R> ;;left? HG_14 $> HG_GIR G_14R>;;up? HG_13 $> HG_GIR G_13R>  HGT_DIR$>G_GIR&T_DIR$ ST_DIR. HGT_DIR8X;BG_N1#DIR_NM;;#2L G_NUMV #DIR_NM`X;jX;Get a NumbertX;~G_NUM T_UN SETTRGQ> PINDR %>NROW$> QDIR_NMR> HG_NZ1$>G_NZ'INDR%> Q@INDR7 ?G_NMLQSTRIG0 FGT_NUM( QSTICK02 R>;;up?< HGN_13F3P)>dZ DG_SHOd%>n HG_SHOxX; GN_13R>  HG_NML1)> EG_SHO%>cX; G_SHOC5 NUM_ICDPTXT_PRM9C PTXT_PRM9 &SAVEX SWTC $SAVEX"7,?6 !G_NML@ GT_NUMCJ%>T P@INDR7^:hX;rX;Get Offset of current char|X;into Users Character Set.X;Return addr in INDR.X;:GET_OFF%> 'I_CHAR 'INDR ASC2ICR>I:GM "I_CHARM> :GMPINDR TINDR UINDR TINDR UINDR TINDR& UINDR0 QINDR:,D O>5TXSETN PINDRX:bX;lX;This Calculates the X,YvX;of a rotated Point.X;ROTATE$T_DIR;;orient HRT_1, QTOPX O:XP_LO PX_LO Q:XP_HIO> PX_HI; QTOPY S:YP_LO PY_LO Q> S:YP_HI  PY_HI*:4X;> RT_10H HRT_2R;\ QTOPXf S:YP_LOp PX_LOzQ> S:YP_HI PX_HI; QTOPY S:XP_LO PY_LOQ> S:XP_HI PY_HI:X; RT_20 HRT_3; QTOPX S:XP_LO$ PX_LO.Q>8 S:XP_HIB PX_HIL,V QTOPY` O:YP_LOj PY_LOt Q:YP_HI~O> PY_HI:X; RT_3, QTOPX O:YP_LO PX_LO Q:YP_HIO> PX_HI, QTOPY O:XP_LO  PY_LO Q:XP_HIO>( PY_HI2:<X;F!X;Multiply Routine (TEXT ONLY)PX;Z:T_MULPMLOd'MHInQ>x PIND2 PIND2 T_MUL,QMLO OIND2 PIND2Q> OIND2 PIND20 HT_MUL; QIND2S> PIND2 QIND2S>" PIND2,;6 QIND2@SMHIJ PIND2T?^ QIND2hS>r PIND2|>:X;X;Get the 'bit' to plot.X;:GETBIT&COUNT 'COUNT&BUFQ> PBUF$> :ROL_LP,UBUF UBUF0 H:ROL_LP%>& :Y_LOOP30;:QBUFD SCOUNTNPBUFX QBUFbS>l PBUFv I:Y_LOOP&BUF:X;X;This is The MAIN TEXT DRAW X;LOOP.X;TEXT_DRAWQ> PC_POSX;T_MAIN#C_POS %C_POSQTEXT_BUF8 R>EOL HNOT_TEOL  :;;later!X;  NOT_TEOL :GET_OFF;;CSET off* QNCOL4 P:COLCNT>:T_DEC":COLCNTH $:COLCNTR(>\ FT_MAINf %NCOLp :GETBITz ':BITNUM QNCOL $C_POS %:COLCNT :T_MUL ':XP_LO &:XP_HIQ> P:ROWCNT:T_INC#:ROWCNT $:ROWCNT (NROW F:T_DEC %NROW :GETBIT ':BYTENUM %:BYTENUM$Q@INDR7;;get byte.NI_CHAR;;make inverse8%:BITNUM;;get bit #BMB_MASK8;;mask it offLFNO_PLTT;;if 0, no plot.V QNROW`$>j %:ROWCNTt :T_MUL~ ':YP_LO &:YP_HI ROTATE $X_LO %Y_LO QX_HI HNO_PLTT QY_HI HNO_PLTT'PTY&PTX THEPLTNO_PLTT!:T_INCX; X;Bit mask TableX;B_MASK ===( = =@=2X;<!X;This allows the user to plotFX;their choosen text.PX;ZPLT_TEXT SCRNDLd SETC_0nPT_ROV ROVERx HPT_LEVQPTX PTOPX5;;save X CoordQPTY5;;save Y Coord PTOPY TEXT_DRAW7PPTY7PPTX !PT_ROV PT_LEV:X;X;This makes a binary # into X;INTERNAL CODE 3 byte chars."X;, X;EXIT:6X; A=ones digit@X; Y=tens DigitJX; KQ=hundredsTX;^NUM_ICD%>h'KQr NUM_HR>d| DNUM_T;S>d#KQ HNUM_H NUM_T5QKQL>PKQ7NUM_T1R>  DNUM_O;S> 3 HNUM_T1 NUM_OL>&50C:L>D?N7X:bX;