$CPU 8086 ' make compatible with XT systems $LIB ALL OFF ' turn off all PowerBASIC libraries $ERROR ALL OFF ' turn off all PowerBASIC error checking $OPTIMIZE SIZE ' optimize for smaller code $COMPILE UNIT ' compile to a UNIT (.PBU) '$COMPILE EXE ' compile to a UNIT (.PBU) DEFINT A-Z ' Required for all numeric functions, forces PB to not ' include floating point in UNIT (makes it smaller) '/*------------------------------------------------------------------*/ DECLARE FUNCTION GETSCREEN() AS STRING DECLARE SUB PUTSCREEN(BYVAL X AS STRING) DECLARE SUB MDELAY(COUNT AS WORD) DECLARE FUNCTION GETVIDEOSEGMENT() AS INTEGER '/*------------------------------------------------------------------*/ $CODE SEG "MLIB5" '/*------------------------------------------------------------------*/ ' DSCREEN5(SCREEN$) ' Display Screen Format 5. ' Display Screen by "BEAMING" in the new (SCREEN$) screen. ' SCREEN$ = Mem (binary) screen to display. ' Returns old screen. ' EXAMPLE: OLD$ = DSCREEN5(SCREEN$) '/*------------------------------------------------------------------*/ FUNCTION DSCREEN5(TEMP$) PUBLIC AS STRING R$ = GETSCREEN '/*-4----------------------------------------------------------------*/ Z$=Z$+"&=$k7/50:>,\/W5Z#21a062-'@(Y3L0@,S199[)M42/q:Y%p7,8E9W863S(d$85o6O&&++*f;K(V2J97)q*D56*[+Z.\/%942_/T)1'a*S-/*04b7L7P;M&[5J4V.I8O9p109n0]3f&<1W99085L$W6h$]-):`,M;S475_'i0_,$'$'09\9M0\&c-Q,57k'D*i*E$U4M" Z$=Z$+"2R)D796],*):%f-F+>8158551o*,4n;_$H+I%0:.7U6n)[;'#X$)+F957a/A9$0W'P*$'U.5'N-c#(/^5q493:.A3Z5p5F$P-a1j1)/;9>1$+5'c+i0n:\5i,U6L-V/C,H6g.L#3%=0U#?(B*U)@#f228X4C6M$C#*27,,)?0e#19@2a.6&G,^$37#&11f2I'94j6Q,D" Z$=Z$+"8C9P*'(/.>8+%)#j4-3#-,+H6E:9:P';,%#\/-#c*61l9:(m(%0N/E.8$o#n'Q;%#p,c64#;.a.Z&:2d,N+Y&U;h,A;d%i/(%j0b:k9V,;1P$E(.9(&\1Y$;-n+j#4/,7r#G15&q4E/[&@;D6^('6)2^4o)Q&d5f0O72.c28%#%51i'd.(:W5A%B:+&+5P'W)#,f+C14" Z$=Z$+",K-p4.;6*d2N4m0l4N$R9,3&'5-_9f#@-I$Y7R0J)Y7Q1L(216)b#W(R,Q)p%E-[6a:T9Q*T:B&e5n$:5d2&&$%?4a61',*V7@3B3d*:(M(T+^2Z.^&87C#,9X*_,1+4/?)c&):24\54:4+K,Y.Y35;O+8;k7-3+:N-i3m.$8N7K+/8@'69h2W0o/f+'6p*K*X$9((-?" Z$=Z$+"-P4<(g$q,P&O.l$-)9;j+`./:Q$L6d&I/=*r%X#Y049C-r&h/P+03H*51[#U4>#M+k2F'm,i&_91:m1b#S/Q%P*98a$r,&,9*1573)2.(:4(*j2B7d,_--;$$h/F.#-+.Q1X*F2D$F2b6R-#-17*2::H(W5C0q-L5]'4-&&?(i:,$a0X6m4d84+*9D#o9]7'5&5X%h;`" Z$=Z$+"4B'='?6;5?&,.q:^4A;W&V:_1%0`(a4K$<3>/\+:2k8A$D&^-:%G$>8m$I/D''9b-m6(9j.T%'2'(b,'-Y2>5'29&4+b(#8%2f#O8e8U$@/$,3$$)i%\0R)G2='+,=3=)l1k+p.K,V1/:U&D;g+T6q6H.'+Q)C$10Z9*83&B*L;&/:2G,0.j)]7\)>9%(r,m:@.G+q4O" Z$=Z$+"0K)`'G.D4Y#I*40)#8#-132p&r)/'M(K%q3/%L;p*=#&&m1?5<+c/);F;q9&4L.k&7(h#]3R1K;<&3*G*b#H,e(4$=3`$($#(692.2$J336U&R6Y#_0d3$0+2H4q737N/B+O8p4Z7`1p+V-=3@)$8r,n;^0L305U0I1R8*3o:M8F/8'`/4$&(*,J%g0.390V8>)W,b'b" Z$=Z$+"-e0F&n');J);,<6-#9;:;T4Q5a1>(-'(,45=69))8\$*1G6P;A&A'22l%O0C8L1r-k#l7l7W'1,>:C(q;>-O6$%m6j1Z-38b:#&Z,W#R7]%62(9Y%Z*?980-&2.[7A0E*n*W4J8j#g-<%n'S.g6B$g:i6_*M-28-&%4]#`7%8h485(7_'K%8(L2L%;-]8`&>1q*I:K85" Z$=Z$+",71S:g'f,[-4%K:e:r529S(33j$51h.i/V2M9k%b1U/3#F0M-01D/L:c*2-U*h::():<+]2`/n$i6G;33((&6&+R9B2Y2\:$9;.).r*\*^+E/g+r$S,`4+%@$d8K1C,8606.&k#6/0:J8i)Z-d4)+m.;&Y2S*%6#/U2q6e7j1+)J,+5-6T/Z)k89%_9r78(E:687)O':" Z$=Z$+"4U2o'35O3C(=)T-W)h(7+d6?:a+A1_6I2i-h/6310g.e)<0B6k,d:o4T4P7p)-&'446=3Y$\)0*H*p,j2g**363]7F;1;;3*2,/m.%+[8](G'8'g518P5,6X7i'j*-%7)L9=%r:&'I;X+12A.H*a%2)&,g3k3\%4%Y%-7I2U4g/j+&,I(D&a0%(\/S1:/5.3(,$j.:$M" Z$=Z$+"7<2<)r672r$4;L46%H:(%V41'A0^/&;B;,&C3i*;1e.?;Y'O&F&L,64$*+*($^6b.O2)5\1B3T-R//%R#b;?8$+D8:0S9`9i/X6`#V2K63(O*e+?5$'_6V/940186+(<-B4@$68G-N3b7&'Z&K(j'l5k-T53:I6A3A(F-g(+:d(;59;f#<:E0c2#+f+G(C*B6l8;#=9e" Z$=Z$+".b03*O:[)a;+;U+M.43M9/7M)g$Q4[.15D7Y(_%%.05#/d'X-b-q6i1*.,&X%F-(.905)E,-%e,L$0/O$b4i/K3^*A7c%U+96S1.;75c3n+_0h0,(e-^../#)+$e.-([-H0'3p4W4^&5##/]0G;=)%'/:G'L1F8#(]3g8o4F0Q/Y0m0&8=6:/_0P7V8.#^;P4r:p5*:)" Z$=Z$+".h'E&S(c6/9-5Q5Y-D/R*Q#T'h7f*c1&6C:b$+4'96$7)'$Z*N4;,q,p%&5B%*#7*o+B82)=0(;/%/&W)R'H(Q#J$/%D/l*g3r,/:87T#[1O,E#5/I5%8/4:'n3,:f,@+-*`9N0j.J&N8[5>+e;Z4R7e9F7X4,7o0*.P8H5M.@+=4I8R/''F,]5;+X7>.E/<,T-A6Z&j" Z$=Z$+"($*&8S5m)59U9o6%).+h(Z%[#:5r:?%l5e%S1,9'7G232;0=*<019E$_77&.%<.f&M&E;V9K.d)74D68:j$c9R&f8&%d6o.U7m&-/13E-%#/*72+-./i,(,X)o.&;c3J&6#%#C,h32#E-j#+.R7$1\5g#e'k+n5V;4'].m/r/h8,.72%;2/o8Q/k9A)j-l(S5T6*9m5h" Z$=Z$+"/a5/&P+6$,%W1';b9.'e+#;0,F#0%T/@8n,C;(+P4G7O,#(H;Q4?+S;o;94f0a:'*R-8'q$O*k1^&],a(5&T1<8k%J:/$A3K:L;R#B(?%$)m8d8c.V.B+$4e4#;#3Q,))K3l-S,2:09Z0p)2-`5W:7:]3V6\'Y6N#N3c&H'p.S5.)d6J.n5R2*)e5`-X&b5^0i)3628g" Z$=Z$+"2V2c%>3O2m9J#r#h;N6D1J:S.N*];r(1$'1Q&i173G'*+77H->9G$n%+%.8'%k+,9+;83N4X2h/26,r'7),9^3%8V5[*Z*36c5E;G:F(P;@0$$G$%0>5I-\;.5b9)'o/*1N;C)f65703F" Z$=Z$+"+l(U/M9<-o9q1n-M:D#m3D00/b&`(J3e1A+J$`*Y1I,?,R/7:l;*(k8Y8<-K1E&J7q#D205G9H*C$K7[5+'['J0?%N3a(l-')H&Q9g._)A%C5@:h&l7^3?0/:R34%9'>9a3P'V#d#L,.#.'#)F'B0;2@1M6r+g1d7:+<9L0T:Z#Z2?+2)*.=8)6'4k&((@:n,G7J113I" Z$=Z$+"8B+\3-$p;n8W'<:X-91]1@&*4*8D$X)4:*90,l6K.p)63W'R(`%o/G+@$T1`.*5N)V)\1#*8880774217B43.o+U'T9#.W%I-*1g0A.C3;1=$?(f-Z/>)n:5*l*P*q2T2/)B;-3[+W)8+a,O(08I&;$N#'7E6[2P9c2j3'-C1H%:5S$[#k,k*@$m2Q%a;E75-E#A%]9d" Z$=Z$+"3<;H9_*.-7*J9I;\#a#K-@(89l:32]7(*/#i8J#)3_6>)P8T:A;[5H0<:q5K2C(9$f;m(>766,5l+N.X8q%Q9O&o*>'r3q:1)^#Q/c)N1(%309;)7)7S:--;-68^;5+o;a-54h$2#P0D'%#q'C%(%,6f,o(N&/1c4S4l4&4/5)0f382E24%`7+2n:;7n'-&p;]#$+()(" Z$=Z$+"66;e(n4c6W-J3h/H)S127b:O936@8M-f'^&g%M/N%A:=4%(X.F37;i/J6F.+3X2e)U%c7?4`,Z'&*)(A4=7Z;l0H:%2[$V0k458($B)_26%^02̨Z/+.].`;I+;1V/`,B257D1m-$+)(p7.4H)I0Y2$1;.M(^%1)X1-711T0:7h4_&98l9T(I,:0#0r+.$l/p9?8_" Row%=CSRLIN Col%=POS(0) AA%=SCREEN(1,1,1) DEF SEG=GETVIDEOSEGMENT FOR X%=1 TO 4000 STEP 2 A%=(((ASCII(MID$(Z$,X%))-34)-1)*160)+(((ASCII(MID$(Z$,X%+1))-34)-1)*2) IF A%=0 THEN A%=1 POKE$ A%-1,MID$(TEMP$,A%,2) NEXT LOCATE Row%,Col% FUNCTION = R$ END FUNCTION '/*------------------------------------------------------------------*/ ' $INCLUDE "C:\CODE\MLIB\MLIB.INC" ' TD$ = GETMEM("c:\code\mapper\APOGEE.MEM") ' T2$ = GETMEM("c:\code\mapper\VMESAM.MEM") ' PUTSCREEN T2$ ' Y$ = GETKEY ' T$ = DSCREEN5(TD$) ' Y$ = GETKEY '/*------------------------------------------------------------------*/