From 8564174b559b9e19036392ab7677fe9ee754080c Mon Sep 17 00:00:00 2001
From: sparky4 <sparky4@cock.li>
Date: Fri, 10 Feb 2017 09:18:21 -0600
Subject: [PATCH] cannot think on the pal maker

---
 TEST.L16               |  19 ++++++++
 data/16.pal            | Bin 0 -> 768 bytes
 data/G.PAL             | Bin 768 -> 768 bytes
 data/chikyuu.pcx       | Bin 5690 -> 5690 bytes
 data/spri/CHUBACW0.VRL | Bin 493 -> 493 bytes
 data/spri/CHUBACW1.VRL | Bin 455 -> 455 bytes
 data/spri/CHUBACW2.VRL | Bin 479 -> 479 bytes
 data/spri/CHUBFCW0.VRL | Bin 471 -> 471 bytes
 data/spri/CHUBFCW1.VRL | Bin 511 -> 511 bytes
 data/spri/CHUBFCW2.VRL | Bin 474 -> 474 bytes
 data/spri/CHUBLCW0.VRL | Bin 479 -> 479 bytes
 data/spri/CHUBLCW1.VRL | Bin 455 -> 455 bytes
 data/spri/CHUBLCW2.VRL | Bin 493 -> 493 bytes
 data/spri/CHUBRCW0.VRL | Bin 490 -> 490 bytes
 data/spri/CHUBRCW1.VRL | Bin 502 -> 502 bytes
 data/spri/CHUBRCW2.VRL | Bin 492 -> 492 bytes
 data/spri/chikyuu.pal  | Bin 768 -> 768 bytes
 data/spri/chikyuu.vrl  | Bin 5006 -> 0 bytes
 data/spri/chikyuu.vrs  | Bin 6408 -> 6408 bytes
 src/lib/16_vl.c        |  90 --------------------------------------
 src/lib/16_vl.h        |   1 -
 src/lib/16_vlpal.c     |  97 +++++++++++++++++++++++++++++++++++++++--
 src/lib/16_vlpal.h     |  11 ++++-
 src/lib/doslib         |   2 +-
 src/lib/scroll16.c     |   8 ++--
 src/test.c             |  24 +++++++---
 26 files changed, 146 insertions(+), 106 deletions(-)
 create mode 100755 TEST.L16
 create mode 100755 data/16.pal
 delete mode 100755 data/spri/chikyuu.vrl

diff --git a/TEST.L16 b/TEST.L16
new file mode 100755
index 00000000..c0b07783
--- /dev/null
+++ b/TEST.L16
@@ -0,0 +1,19 @@
+
+qqqqqqqq
+
+Project 16 test.exe. This is just a test file!
+version Feb 10 2017 09:14:32
+VL_PrintmodexmemInfo:
+  Virtual Screen: 352x272	Tile: 22x17=((Virtual Screen)/16)
+  	  Screen: 320x240	Tile: 20x15=((Screen)/16)
+  Free Video Memory: 767
+  page	[0]=(a000:0000) size=23936	w=352  h=272 sw=320  sh=240 pi=1408
+	[1]=(a000:5d80) size=23936	w=352  h=272 sw=320  sh=240 pi=1408
+	[2]=(a000:bb00) size=8448	w=352  h=96  sw=352  sh=96  pi=1408
+	[3]=(a000:dc00) size=8448	w=352  h=96  sw=352  sh=96  pi=1408
+tx=1	ty=1	player.d=2
+
+====
+0	paloffset=	8
+====
+
diff --git a/data/16.pal b/data/16.pal
new file mode 100755
index 0000000000000000000000000000000000000000..eaf5208550ce2b2d7a255488e2de6b8d22afb6c8
GIT binary patch
literal 768
ccmZQzVEE4f1ph%0gg^v{H3~*UU<8B!05HA_^#A|>

literal 0
HcmV?d00001

diff --git a/data/G.PAL b/data/G.PAL
index 906897bc70e146ee900bce31986fb34212d9f138..8092380af954e11b165eae773d83f03429619756 100755
GIT binary patch
literal 768
zcmZQz00UMTMh;abZao=UHCcIkH8p*6HCZ5GuP>`_Zf<X`Z*Ol8Q8-GDhQM$N0RXzx
B1#kcW

literal 768
zcmZXSYjd(N6ol7S3tsRBqLhmPDi<rnLR&;D`~Uw{Lp#%XXWp6pkUhyH&)Jhowg5;r
ziBIXXk+NwL*<j=i^uxon^!y}Aq`xQCu|29}byz&@)cP*Y6rz_D<gdvEYr*c%r$PWi
zgIGXV5Dr9uWnWTKCGl$}5N5yAdj&Hb4s~6h&1S3BYO~omj^q1&7>0`Dcs!P6Syffj
zG`HJLVVi&rct8lGKmpW%YN@ByG#Umii>}KkVwO=#bBxUdu7PlYbdADB?V$Dg));F{
z4CWS3E@j9%Q)!rM*cQBJgaYXS#VhJJv=^0_lE%(pXYuZ`3)yAtBovTJCjep~2TI@_
zxb{FAwK<IqEst)*FlTnA#BvGShUXy+k)|jL)HT{x-EOn<*+pc^t|Tk+Q@yG$F|{%G
zunJ+N*cN!M;kOXfVj3x}Bi)iw#q5LfqGC`$4h8`RF$M}q{sC!Y8Vg!mx&fmXW=G05
zj$zK=Ec=NhHck#I4{ZR7pLh;G@x1=TQ)T>=T*KUA=Oc*lk|8f3YkXXAZAZ83^y{|z
z`r6*_{=JL4E+-{*U<%9!gZ1OXW;ERCPu^s_pHIWpJh9EAyDf!ZB~f$AZnfmK(RC~q
zuuM4iL*P8d?kEeiVn2~${uZ0{VfUH)ms5N_=lA!sI^PfdKfUhv{}$CB+w6j(C|uY5
E22HbD8vp<R

diff --git a/data/chikyuu.pcx b/data/chikyuu.pcx
index a85202089e8b741952baac00ddf9445da998ebc3..049e4bcf4e5f61efac597d73a37738b5324f1764 100755
GIT binary patch
literal 5690
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
VAO3iJe7yX%>+{p+75Klbz<)gu07(D<

literal 5690
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
Rl4C#k;al&&|9-RC{6F}1e5L>Z

diff --git a/data/spri/CHUBACW0.VRL b/data/spri/CHUBACW0.VRL
index 1034a61dc4a22d6862d5c0e686c6cf1ef88f72ca..cd1901060e481df955fbb2f086284eede5d3d4d5 100755
GIT binary patch
literal 493
zcmYL`OHRZ<3`AY-Pn=FNzy={Aq`3k|V8w<NixKyUhHE!v_l$_5{NC$|?Y?|}y<a{*
ze$MhDah$u{&zhkrDdf4&s?c0B-?RZohG?HLJ~~q%S2ROWth@>Oi8$q~H4|F%MJk4a
zrnu4{xQs&0l&q}{Cjiq_{8~JVA#W@}DI_%@(ZNzCI&q<)efNw}+Pra*8I3XoNFt|j
ztKE#XSlftQD9&G#^YIVT#W8~4F<DX`#uBh>Ob;G-XLW3VoE^G^$mM#vUfu22F{6}I
zBB$v%`rA2_ksfU@38k$lY$NzniBwK-%!+&RD=|lg9}`yJqv|7M3MKDIAE8&_BgFo9
HliT_S1i&To

literal 493
zcmYL`O-{rx42AvdG~*=g02_p;kmd>;ffXB8EJoa?f@_E8gb`7dsQI2>{B!;Mc)h;A
zeO=^9#=3O5eL2BPamZsY>hQW%{%Hk{1kqkFFP)bPq>N-(6blbQKNFW)eX9;wiXauk
zL8XMG-@%=Ntx{xZNjL*o*A{yVFPgkC1*f360fidmwo)@TDzxuPkD1y@8DvI9n*xZD
z^O3*Y&6tZNB@RIg{%pbL8>Bff2ESpl;#|fQkd^L(54>Ag2WN#L!tiB0wUJ$#PZLD3
zrI1q@c+|HuYPv@&qENK7ps|d>AC}?D4$fX}6+bfiNb}=_HD<I$3+V!ARHXOtZ{ge^
J{y$BQ^%oqiDW(7b

diff --git a/data/spri/CHUBACW1.VRL b/data/spri/CHUBACW1.VRL
index aaa6ca5e911d4e6363dae831c7d95bc02935ac11..8aeb64e77e8657ebc96a1a5fb87aaa86f7d5d147 100755
GIT binary patch
literal 455
zcmYLGOHM;E4D>iZzr2<%K(wmb(kpNTR%}>xQE{Ih+>8?t)>HDFnRx8U{r2^K|NQvA
z%0Wh4UH-nBpeZS2?+X-~YmV&I7nzxIQ$U{mi6<#%t(m!XJTk8mslF3cA~h4WzUf#2
zv{qs*km4uNq(qY%kVwE<8VO?obp`$w#i#tT?FKV)3WG!z>cODOZ--{=!umEeg2I0?
zF42chCE{xkq75=w&){bbG;vj?Y=d}f9EJo2+c=WIK}g|g@W$=FVGT(31Lp{fhAk<F
wbrAs;-_y)lJnV>hhtlxqg>KDq)2pEYF@IF_aI&&&SigAPO<`I8--!?Q152DEZ~y=R

literal 455
zcmYL`OHKqa3`AXVI@sxMW&vVGh|gSsBd}t_ip7Zg%)w1L0b#YGcIw6DIG3-_x68--
z_gPLd;vDk#HHEnw<QNWv^}T2I5H2$_Ln(mV#VvQdciX!GT5+u?N~Og?%&6?0s@A1q
z1+Z;nT_H<6iMdgA;{hjtwr&K*0u%`1HH%OCn^G03WL5@2ma9q7<+npscA>STM<V<u
z@lukQPSjfh*#-&LQ^a#g)s4ZFZBXAfUWNdJZ9JBANQAq|jnj2u4M>fX&IY)jch1pe
vq`1V9!<@x)9C_d2G-h-^s}Y~G8XgdfYeT2zJ13u`_h^S{EbIR}@xguoOW`L+

diff --git a/data/spri/CHUBACW2.VRL b/data/spri/CHUBACW2.VRL
index 171c45c34e379e154e8bf1fbe5d2ceb049447afc..bb81e15323f5418c32ade7240e483bdbf23f432b 100755
GIT binary patch
literal 479
zcmYL`F;c`Z5Ck<V$(CgsNT4XV;J&~Uh)9SCuK3Rt0k0Ol(z$Rsu+_7(tJ%xf=iBAu
z{reoALx0XK9PgB5F`B|tTg+r>O8nV_6k=O6P8^t&HkG1a?T+)9l1+)zQuUh@gCn(j
zl%OerOWmq=N%O2)l(TyEiH-)3R-}kTYo4?G0|{+k-C+!}>=c%=W=wzwM{t|86lN%O
zp9i14{v|peEugF8QGH-oG#+NA`=0T|n=wbVj}PZ&E<!RWB4SZH-J17UVj@1*_#K$l
zF)?=geh;j=09xtS9&>l4WF$r4B(5Y+0Qc*x&6hHHhWH?(t2K6FKY>jtl>hy)$UkXW
BBntol

literal 479
zcmYL`F-`<A3`O(f?5s1B0U8j3E%pi=fr^HTV#R$B1*Z<r2`i#0CVBR^{eAg(f4RK9
zexB1~8t2^8^;?R(R#$rHHM@M>S8n-EO4h69i}RAD(qyKT`wj1PU436&vZ9|NOM%pH
z<qq0cu$4p6E~zyY)3#}3pQz~Y>Lyh}v}|ot{18If=ZwN^<d{h`TQ)?1S5Aq)PR;1S
zN^X<4$bYinvjlVrJhQJDR-Hr7RL>i_Xw&A*j`rb97D0qeN)WcFpUNx_iea%YVqyk*
z4UCOLKAea_M*y@?uiqbrDk;+`499UXJr1D$bySO`?BO9g!+K0-C;pw-l#>7Nk463h
DWxpq^

diff --git a/data/spri/CHUBFCW0.VRL b/data/spri/CHUBFCW0.VRL
index cfc4f79554e1c9393c107f9fd23196dc1a609241..75d5a6e46e90a41bbe26dff7c9165d175947ab34 100755
GIT binary patch
literal 471
zcmYjOOHRcw4D>io+E=<@gZK$}SKtV&*sx;p#C@uV#DX)MnU)lyO0_-X@x(d3zdfH`
zUp|g@W9vDl^=}!lT)@U0DqIJLSOZKmY{)BSQ8tA25=_QP$aQ!$7K%{SR~7)Pc~^+B
z)~iLa2!c!AGm2;(?kGWwFc+@gok0CnVC(n1RQo?diL*sB=~wAL0EO<TK#A^80S8n%
z@O<R0WLkt@=Sp=`GH3$1z!!^K+Zn=l#xx?I;FO`wK1DXEKnYHnC*({9t(1-MWnPUA
ov}w9P^3V0Q@U!{1!5UwIDK$_VcR?SA{A^CH5A2x!-i;6V1C_5O*#H0l

literal 471
zcmYLGyH3PF4D{?H@j67JK^!39et}P*qM@QV-Ty>~L~-A2#t9o%TiBklJ+@C@pKqs+
z_w!K>vc98B|I3JFf~b!b8V{|k21<pDen-#RhA`fYPA-Am7qyvz7HGs*767UKn29mg
zqb=+p1f2aTtD4On?kGWIND4f1cLM9L1-AU;w`s+9LbHq5AW@&QWPb*l1!ZQ5t}hHW
zn5ZE63#SUvLHJW1ZcIuBMZg#6BK9CVBk-M3GW-?FGE~vKgv{6iCU&U>enSSOw2km1
sT7?QGq(l{PB;|T%(~Ia;AOo*Jmo-oa?t(g+e-BD-8ku4LcjEzn0rt8pjQ{`u

diff --git a/data/spri/CHUBFCW1.VRL b/data/spri/CHUBFCW1.VRL
index f6424ede55bf1bb01be4008120c8ccaa0c1f2cf2..7a08464e1584dc4cd5888cea20f0402687cef1e8 100755
GIT binary patch
literal 511
zcmZ9JK~6*=5JbD0hCvcFZq#Vhe+7@=%8e@*6Yuk9yf#+x!;DH;0R5n<=>6x%>;C=i
zYq5J9W9c^MTHu#})xHb32HITI2HW-91dp_pNTi6A995;e<WYFSgRP+JKn4=b`;)Uw
ze%uhDHBkZJ+vwLkjVO~yakOYA1hut_{;c{hLNZiG&Kb1|pt(Q9rY9p(k;si9g{VRy
zSsgMLl9AiNEastTLbf=vJL*$uHD4_r>_m(><7X&U<@Uu~c8U^>KN*q7GpERpWauYN
rgra95xc&`%1YW|A=2ym@oGEst*TP1zrtQB*eP`arft{)6{<6_O=9DGb

literal 511
zcmZ9J!A`_53`9Lm*>zk6#Dzs5pufN;aN@#=!)pJhEWe$dNtLd^s;VS@@r>i+_t*RJ
z^W!wzqqUf;^>5i>D1dq0k8lN|FVYCx*M|g;yrxLxh@2fssYCK8JmJBb&~;#f(nEb2
zm?qzDh|rp-0I)Xd-QXTkI+5dS5hes_924p*OE5M<GE~PjO-M-q&HW)(JsFXTMD7ha
zL=~2i)h3fABe#v2%|opTS=*7_mhVc7`C{>88`0WnFGHy$w{PaMQ{=b3No%>4*;;-k
wLqEAA6uk;z(7OT75tQ(=`K@s$XKFjq>yCqBPTPNj`n_?s`@^4K=gUD~0Ndaz*Z=?k

diff --git a/data/spri/CHUBFCW2.VRL b/data/spri/CHUBFCW2.VRL
index 2b7ce708b88efa53df83f4a24e737bb752e4e5b4..8e26123eab58856677d3aa114d1f53da12b93e6a 100755
GIT binary patch
literal 474
zcmYLGF>V7f3=<{U=QD1})S|cm`9h!2DNCjfLH~0|fCBxqOWC<Z@MO{?MPI)!pV#x(
z&q>~;&#B3Nwh3ARsclNo7^Do80-0NNsN1;x6G(2et7kPg(_hgfK#FG+Ksy>Sa}H6C
zk=FGRu+)yLd*1QR3<eTPEodv>bDjh$1a}a^VAW1|F*<H^rvyaX0Wb!n21O!-`As~_
z&=6}!?h~qkKT<}_;nF2G=qCOqPr`t^30R7@6-pI`czE<hhZ=*><bwp}upOuVC?w$2
qSQl%}t~b$z1@<*fONC7Q1R~rSGdWRSUE=zll?80{FR!oTAN~W^)+O2i

literal 474
zcmYL`J8r}<3`9Bl*d!ensS*TUV6TuPq)L-2#Ul4HHoyY8voe(SLkKQ3&%+^g`u=)9
zeSZ8L<yCqeo7~PmBRL@6<_e8Moq(Jn*1SO7#_gX#re;NbRdX}Fh*klX1u4-0?U1RN
zv#7F+Soo1ZEnQdl^`>_+2rS4Yqiy`3bqDAW>;R&{mOAhtx^4=lV1m@10rOy1nnVcm
zv-l*#LvlNCo^TEQnlfUJF5O~>?&2?U2Zr36fJ;ejgVKc|u08so!;L}M<c$Dx*iEPZ
uSV+jVAt~3ox}HU!xWGQ9X)chNk3fYp!^p()N{#E^Nx6WXAALL>-|!#sk1LJ<

diff --git a/data/spri/CHUBLCW0.VRL b/data/spri/CHUBLCW0.VRL
index 0a10d098a360c1b040198d2b8f57db21d6850414..46ef32415f475260b1715488bcbbb79c6bf152f2 100755
GIT binary patch
literal 479
zcmYL`Jx;|i5QIHzJ8}Mi287@h?+P4&iiV2fiTfZ5P945+9%2(Ij%RjfcK7n}{&IPH
z{XD0~)Z@ITzc=m_-zk)o+Ws|aEs8u0g~*`@DaC$YIT7NMO99S+D$+WWxt~aa?f`Zw
zKT=hjTQeMm6c;ez098kDp8Y8sHs0p0BS)<x1cLf7q7$Gru9mG<FjJJW;atq1MhPu#
z-pH-S4L@7-aG=&87*{7;ahtY5P1}s6wov>i;QSL4If|p5=~#=s`+x|9+v`}ULJQn)
zc*GjDAT&?#Mj=#UKpuVl6y-!OG&cd+U7rp^T`}O4$rpz$mSmm5yTN68_}?Fk`~^rE
BBntol

literal 479
zcmYL`!A`_53`8?=wwp99>;;5i5Bm#z0w*q<I3WH9ap0@Nn|2Xyr8b%Icx->Xzde7v
zzI<NNL)zjp(%+j;s^6(9Db?|H)KXO2y3Rza%2`Tz+#OUM;?w3CxB;q2heGB!lLXxX
z>{Jd?SCk0Dbtc6EChVa40?soY!?5u{$1F$h3j_jv7<D5+39hExJD4d-VYtm^pfOiX
zQ8KyRxZ$U4cypi#2*$M$uDDIxppLm<DJH~s0q38Y$SzLpM#q}$-9Hq8aC;pKDzw1;
zibt%W1tC1a8&y%Iu9T;~eu^T|3(YkkyQ6Q9yDS)RO3VAb*KlGCF(&VZW4iy}AB+42
D1T-hC

diff --git a/data/spri/CHUBLCW1.VRL b/data/spri/CHUBLCW1.VRL
index d8cb40da2c30a021e90cd3f90302dd312021d82a..ab84f0de462376054f241960feba9d831a96e4ba 100755
GIT binary patch
literal 455
zcmYL`OHKnp3`E=gpPqy)KqNwZas`gSiVdqQBJPuen^!#`tkKN0t6Z+Oua~d)>*vS!
zIh?|bvxmQ@9xM_TR=-sn*<z|Sr$lD)2aXfvlX3>g0=gfQMSd0J2?_|aQ2mr*MnOlR
zl2Vjnq4-l2D725QF+dx;31@$yYNFtsqIF+dYfwv*MlgSsrbuYyXlox(isYMhYW$5G
z<jnyIC}Pb14aOK^$g?ckvL7ARiUdI`h%lZ*L|rW~k#++k0w)74Mqqvj+f1Nw7dR`m
taP*#6y$ex|V#NcE?WWnz2`wOUI44Br-WN1~J%>lHOm}YJ_`fF>_5;ewBX9r!

literal 455
zcmYL`%}&EG5QM$9W7dvC4<K40e)<YL0w*q<dZ>7xKDhbD5n>c2&dzvtyuMz(KdxV&
zKj&}?6Xy~Bo^mh;7S?eq*0OoswpJ^ZIv)9*ET7sML=)lTn9NxU)BziSSt#R_yy2i<
zv9c1@)xt8Kqe!u7_ZHFfGU+^Cqx)px6Prq0d+$isE{|a2E#fH=9?h+!jAWfIme@1i
zIYHYKP(UKZ?B6@<EQK;FqTR)uP!%iytq`Jk368s35TY)bAR?y%uc#o0u+Ib;XF;PT
vX!M>(y$`NNzL9~(cFPvAV?q^137JrgR31jPy`t$pjly*24IKaPi3|G$fG8(N

diff --git a/data/spri/CHUBLCW2.VRL b/data/spri/CHUBLCW2.VRL
index 7d92a3da006f052a6f327cd65284afc6975dead9..7b791e8a2af97e9849ef3e4cb9f4675f66ccb2e1 100755
GIT binary patch
literal 493
zcmYL`OHRZv5JbD$cH;a7*dW9RX|BK#Sg~QnV#Ix-;o9M~4WboUieFW`+`fK(yk6hm
zzApA;tuBZCeSR;$nagDL*hj5do`xY)$t6HK9*R7QUr#wh^=)#iGC$53kVe76rZTT8
zsueD{=b;IjJAubKs}!m86g&j%Mi=;4;0U7sGo)bzm91qf9U~wcIOR~#A-k43Z_OMc
z@HtZT00cr1JSxs;JVHl4P1{`2EI0#q{=zhRbIwld%=wMArQQGTcPO;s1}IL13^!{L
zEt$cIIdYB<1R#NSX2$e(Dcg$Vm=HutZXaXLLl}!IApR-#drBt)b_T;Mcp|qw{=X*A
F`U5xRCGr3O

literal 493
zcmYL`K~BRk5JmmRPCB-m0vm*=ka`7<z={nk78Uo2%C*BA2gE3HB)|X1-{b4&$Lsa|
z?dy`B(x}Up{yw{x-;ygS`L-T(Eb_W6jjAr0Qr;dWd6f9o)}Z=MvXqr<J7Yi^1q+*c
znbegtTySs85Da$(A9GRf(#~`65U?9v;KvR}5dELC`@je?TeI~YBOn{NwouTax#nDK
zm_r0UTi_9ZKnQ|I#TkP~=*Xvom5gS_8F=R}Ok;1(*>x(MKiF8t{qKH<LK|*?;zY=B
zvv$#v8Jy(e9A5}P0<C3CZ<R`#kZct}q~!Ky?9O4FOabv%+c7DvDeMepj+bI5J^sHY
G&-w!|M=7QN

diff --git a/data/spri/CHUBRCW0.VRL b/data/spri/CHUBRCW0.VRL
index 85d9565326ea9907b3c483336eb95374994eda8f..b61e67477fa9e810e7d36f7195b15c2c57024139 100755
GIT binary patch
literal 490
zcmYLG%T5F_42#pW&30xENGpMOX@7xF;KYR!hZX-b8h*Pt?INmCrH-B0ajsvVZ`Y6a
z?~6RhIF~Me-%n8pc87ScS&Lax>=jAY2B{sY2L9GVbQ72Y$Q8{2Dg6<ACreS5bbw2(
zIXIBqp9rg2VNZp#1iodWnFnHhhwftcqUtzp?CEW*0nQ$x{mgnD0wF|8gK<dCLK(V7
ze+>sp5i|7`6rW8pTTzmf7Y;GuwywdTNrJqF*I>{+ThPZ;i75tNv$G)ZNtiyDaCq~%
z(szGmeMzA)<_v74z?<b1xC@J%gi%CH0UwN0hC|NDkRv6YTgEY6gv}Ufaw2=-UYH|y
O#TDs7^z^?<?(`S=@F-pY

literal 490
zcmYLG%T5F_42zp~CT(X9NGpMOX@7xF;KYR!hZX-bT7J7Y=_0C8rH<{`NiJWXZ<mkv
z@3TBeob!;s?`JUx4qi6aVtZ@VaI8=%8L|!}%iwRjitU1C0Q!ckfGpz?eAiZ8RxQ9~
z+q!cgWjqnK)^^r3C?(L;iFO`H9tZ4@b}wd%HL<4Vv^h9yNE#>VEeza<k%DoRUW7Kv
z=;PHB7)@F;%}&u-q_Y$)NqI?35pXWW84O8~S7ddDMo#9KF5X4pTUQDkpM;rn@r1XW
zg}KKw^?P-X=+m*70&mJ`aF<D7Cme;3$>FOYOC)5U9I{V|=Qd;SE_wXIy<j58!o6^g
P+!a@psFnJ^O78R*sZuLW

diff --git a/data/spri/CHUBRCW1.VRL b/data/spri/CHUBRCW1.VRL
index 11ad4c94e61a9fca13559928bcd71713d53ec3bc..2f3cb346632328f98bb297e199066bfd2a2d4ef9 100755
GIT binary patch
literal 502
zcmYLG%TmNJ46__JG1-<QFfc6r1wMfj7fu{@_@D0b+d)pcOQw&RNVa78^!@dI`uzA=
z<w^Qkn_QpYNg+5p#9J}VW=T;BFu^ONG(Zi!*Nf=Az!bzvAq+@vFT#stDGHNz^gwhX
ziEm=>wvwV|nVl8RGWZf8+r$?YZ4=$Zo<-Ghw^XP0!X^`iLWvjcP1wB)h2UJT6f%Os
z0nm;@D@r9Z^%@*s!c0&?O0>O(l@8Z=4n}ty1Kk+f&C<z`8H8wZlhK_rydFmN?jyV&
ziRTnDecoOgfpm$O_mNR$PQyqdveBG>z+#SvM3+p9XAe9=m}4D<%jox)j3i@4TZS&2
K&i~iS{r&-dLnloD

literal 502
zcmYLGK~lsp471~;anmhFU|?AK1)ji(3nvac{HHA64wAFGblP+#mL*v}eSN;2KHk4K
zd6amzF4y<BxQhPZ@Lsd8t<A2rsxE3-rFK=%ihDnc--$L?)D8!fRb}eWf{VG$Y@9u+
z6RHb9_zc{A1H@Zf!R%^iQ%fv@hNoujyZA2cN!(3q$_DKOk_AFk!bN`-u!j%@OTI#Y
zAS9HI0xJ%s*4#2NmS~0$N=fQ3v=Zf93K8L!1KkiQ%)-f#832;pWRefa@H&m|iw}A|
zf?}O16Z1wZ0|^Pv`(OZI8brd#208u=1Bu-mTp}$zm%tf9;W{do5%=dwO~#7$Nz;ny
J{C}<3?;mTkDq;Wt

diff --git a/data/spri/CHUBRCW2.VRL b/data/spri/CHUBRCW2.VRL
index 0c46190a94600a4ec463dfd4ae909095fef8b30d..6d37b7ab84511d625708d8a7d86d31c1ac03ac0b 100755
GIT binary patch
literal 492
zcmYLGK~4iP47435ad)>!Tqu<&^b0(J6BkY#s{Usw-%e)|R#>Y@8&76D<IDHg`{ncF
zdX{JDb#AhKzr|E^ttz`#vlaJbT8e7cP?VIWX0GViP3%F`4c9qmo+`PW6c@=8pC<e3
zc1R^gti1wZ?giAQLE4xr7;*(-nV{cRwN?BmW}&<N6dKc>kct8%w7r4Cx(wy;iU>f6
z$bo;zU<`wdyTwFAbPizpw2(Q$%4ko^Lc~l8&aok0U;z{uV~7j@RTu~;9$}&*#+)<A
zZ<4cYW{)5!i6Y%9xqBEm#oK`c!Um#XQiB(L2Kj`P84;?73}*V`3cxY$e~KnS98w#0
MW(&IUzf5fP4u$|He*gdg

literal 492
zcmYLGK~4lQ3`?4}leV)+T!58W*e~z|PFy%~SnYp?<=e$>84-;tP2<{*bNTvwyL`M~
z&+;Ur&RzEJC%cMni%RKB@<Xk~HD}ePrYOl>gGWWjZ{l~N)p6Zg<EfJRNpVqX;nU)O
z-2qvNk<ed&@LCU`b~VykUct~-AX0>W-_$p$M{ze@LNv7)2w72pnD$pt_>iF-UJ(HZ
z5zX)q8Q5^h)an+Au)zV$a0{7JfRE9RDG`xLK_5Hf*@jctm?9HE6$S!|d-I8yJ~PN~
z(vs}M9zk#@6d9wEdxU{gVt<V2VhlvVq$V%=4DtafGa}Ro8O)rED_D}w`|qqKh(nf+
NorM)$|6eAy`U`z>DyaYf

diff --git a/data/spri/chikyuu.pal b/data/spri/chikyuu.pal
index 0aa359d3a09d5f588bd1f1f50305a9ab670682e4..1fc14ee725663e77af99c1239d8ca9f9efdf30b4 100755
GIT binary patch
literal 768
zcmZQ%WMp7qU=}Z6Q<~1Hv#YptMoHbDnX~uYpIJI{-`)Rv%J<&8_y6Ah|Ns93m5qYY
J5Ey15005#&75@ML

literal 768
zcmZXSF=!J}9L7H|NQDj=3hi)1kPI0DX2_5sONJmBZnz=H4W(4Mp~HcPo|4i!yy1oj
zK^&ruaNrFQf^-Na!qHxb3>6N!p@KuP83G0jB`Qk9D}26dp$Nh^yzl=W@BRMY|Ght)
z03bQqvAO@4r-uipr#r#tYs>eq-+XZ+??13#?!4N6_~e}O*fzpWwOw9Wm+QG0Qiw!>
zATLc<FcOTfyekAC6o@i}24O%nP)SNsvLr4|4nj?K5-(xW>2xNODHICTYPDXk8-`)q
zw&OURPN&!F`Mw{9;b=6P&1Mo?1$4jy9KZzzKm^E^5?V!Ju}Dp$X|ma*=P?M>Eb2L!
zML1=+H4Jn_1}0Y08e0lGMRqmzO$H7lkE1}XLDyhyz!7lU80;cC!elHHlTsKL8Ec%I
zj2*@v;{Xy!rqcjgKo{_VV_=#9DO5@<)~Q)En{>MLh73@tK-Xbea2&WU1_MM9CKGwP
z&e&$$BwfZn8ImXR)l3C>9VH7@2bzo30X8Do69_6T7F}vRnm(H$y-y6rG6o4`Ak{#s
zg_Hyeu7H#*i)Cu7G#hL_r`Ka}#4OYTj7l<*j*h;8(88nvii>#K7xC;~#1ncv30Q-=
zhI=+PpW@kTym^O%5BNC7^vm+u*IVDtZvXhc_Uq@P`R~@BxO>ik86XdoQmNYFLVYQ{
zo>{SS+3ix^sg^pr+A~*uVTYaOsPE09fYVVXgK`;~3PWFL7>g})$!jQs?OY&AM=dpK
mub*`7albVkcIU@Kc|IBXe|o#M^>0!Bu{(D+_xAQo)BFp{F>t&9

diff --git a/data/spri/chikyuu.vrl b/data/spri/chikyuu.vrl
deleted file mode 100755
index e640b6cc349e9e3401de4f4994cab29ed29059f6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5006
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

diff --git a/data/spri/chikyuu.vrs b/data/spri/chikyuu.vrs
index abcaf75b4785eb26163ce3eb5b68b5b1e1ecad1f..3bf084e9ff3199c4c14020ded8efe183f27b51e4 100755
GIT binary patch
literal 6408
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
Th`SE@pzi>byAJxGb+G>f6TTTE

literal 6408
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
BN)Z46

diff --git a/src/lib/16_vl.c b/src/lib/16_vl.c
index 0da3771b..13d8c9bb 100755
--- a/src/lib/16_vl.c
+++ b/src/lib/16_vl.c
@@ -784,96 +784,6 @@ modexPalOverscan(word col)
 	outp(PAL_DATA_REG, col);
 }
 
-//color checker~
-//i want to make another vesion that checks the palette when the palette is being appened~
-void modexchkcolor(bitmap_t *bmp, word *q, word *a, word *aa, word *z, word *i/*, word *offset*/)
-{
-		byte *pal;
-		word zz=0;
-		pal = modexNewPal();
-		modexPalSave(pal);
-		//printf("q: %02d\n", (*q));
-		printf("chkcolor start~\n");
-		printf("1				   (*z): %d\n", (*z)/3);
-		printf("1				   (*i): %d\n", (*i)/3);
-//		  printf("1 offset of color in palette	(*q): %d\n", (*q)/3);
-		printf("wwwwwwwwwwwwwwww\n");
-		//check palette for dups
-		for(; (*z)<PAL_SIZE; (*z)+=3)
-		{
-			//printf("\n		z: %d\n", (*z));
-			//printf("		  q: %d\n", (*q));
-			//printf("		  z+q: %d\n\n", ((*z)+(*q)));
-			//if((*z)%3==0)
-			//{
-//----			  if(pal[(*z)]==pal[(*z)+3] && pal[(*z)+1]==pal[(*z)+4] && pal[(*z)+2]==pal[(*z)+5])
-				if((*z)==(*i))
-				{
-//					  printf("\n%d	[%02d][%02d][%02d]\n", (*z), pal[(*z)], pal[(*z)+1], pal[(*z)+2]);
-//					  printf("%d	  [%02d][%02d][%02d]\n\n", (*z)+3, pal[(*z)+3], pal[(*z)+4], pal[(*z)+5]);
-//0000				  (*z)-=3;
-					break;
-				}
-				else for(zz=0; zz<(*q); zz+=3)
-				{
-					//printf("zz: %02d\n", zz/3);
-					if(zz%3==0)
-					{
-						if(pal[((*z)+(*q))]==pal[((*z)+(*q))+3] && pal[((*z)+(*q))+1]==pal[((*z)+(*q))+4] && pal[((*z)+(*q))+2]==pal[((*z)+(*q))+5])	//break if duplicate colors found in palette because it have reached the end of the current data of the palette
-						{
-//							  (*z)-=3;
-//							  (*i)-=3;
-//							  printf("\nzq1:%d[%02d][%02d][%02d]\n", (zz+q), pal[(zz+q)], pal[(zz+q)+1], pal[(zz+q)+2]);
-//							  printf("zq2:%d[%02d][%02d][%02d]\n\n", (zz+q)+3, pal[(zz+q)+3], pal[(zz+q)+4], pal[(zz+q)+5]);
-							break;
-						}
-						else if(pal[zz]==pal[((*z)+(*q))] && pal[zz+1]==pal[((*z)+(*q))+1] && pal[zz+2]==pal[((*z)+(*q))+2])
-						{
-//							  printf("\n\nwwwwwwwwwwwwwwww\n");
-//							  printf("	zq: %d  [%02d][%02d][%02d] value that is needing to be changed~\n", ((*z)+(*q))/3, pal[((*z)+(*q))], pal[((*z)+(*q))+1], pal[((*z)+(*q))+2]);
-//							  printf("	zz: %d  [%02d][%02d][%02d] value that the previous value is going to change to~\n", (zz)/3, pal[zz], pal[zz+1], pal[zz+2]);
-//							  //printf("	  zv: %d  [%02d][%02d][%02d] wwww\n", (zz-z+q)/3, pal[(zz-z+q)], pal[(zz-z+q)+1], pal[(zz-z+q)+2]);
-//							  printf("	z : %d  [%02d][%02d][%02d] offset value~\n", (*z)/3, pal[(*z)], pal[(*z)+1], pal[(*z)+2]);
-//++++						  (*i)--;
-//							  (*z)--;
-							//expand dong here
-/*
-planned features that i plan to implement~
-image that has values on the pallete list!
-wwww
-no... wait.... no wwww
-*/
-							//for(zzii=0; zzii<3; zzii++)
-							//{
-								//printf("z+q: %d\n\n", ((*z)+(*q)));
-								a[(((*z)+(*q)))]=zz;
-							//}
-							(*aa)=(((*z)+(*q)));
-							printf("!!					  a[%02d]: %d\n", (((*z)+(*q))/3), zz/3);
-//							  printf("\n		  aa: %d\n\n", (*aa));
-//							  printf("	a[%02d]=(%02d) offset array i think the palette should be updated again~\n", ((*z)+(*q))/3, a[((*z)+(*q))/3]);
-//							  printf("wwwwwwwwwwwwwwww\n\n");
-						}
-						/*else
-						{
-							printf("================\n");
-							printf("zq: %d  [%02d][%02d][%02d]\n", ((*z)+(*q))/3, pal[((*z)+(*q))], pal[((*z)+(*q))+1], pal[((*z)+(*q))+2]);
-							printf("zz: %d  [%02d][%02d][%02d]\n", (zz)/3, pal[zz], pal[zz+1], pal[zz+2]);
-							printf("z : %d  [%02d][%02d][%02d]\n", (*z)/3, pal[(*z)], pal[(*z)+1], pal[(*z)+2]);
-							printf("================\n");
-						}*/
-						//printf("[%d]", (zz+q));
-					}
-				}
-		}
-		printf("wwwwwwwwwwwwwwww\n");
-		printf("2				   (*z): %d\n", (*z)/3);
-		printf("2				   (*i): %d\n", (*i)/3);
-//		  printf("2 offset of color in palette	(*q): %d\n", (*q)/3);
-		printf("chkcolor end~\n");
-		free(pal);
-}
-
 void modexputPixel(page_t *page, int x, int y, byte color)
 {
 	word pageOff = (word) page->data;
diff --git a/src/lib/16_vl.h b/src/lib/16_vl.h
index f375d1ff..49457d2b 100755
--- a/src/lib/16_vl.h
+++ b/src/lib/16_vl.h
@@ -135,7 +135,6 @@ void modexPalWhite();
 void modexPalUpdate(byte *p);
 void modexPalUpdate0(byte *p);
 void modexPalOverscan(word col);
-void modexchkcolor(bitmap_t *bmp, word *q, word *a, word *aa, word *z, word *i/*, word *offset*/);
 void modexputPixel(page_t *page, int x, int y, byte color);
 byte modexgetPixel(page_t *page, int x, int y);
 
diff --git a/src/lib/16_vlpal.c b/src/lib/16_vlpal.c
index d6e92a8c..ab0464ca 100755
--- a/src/lib/16_vlpal.c
+++ b/src/lib/16_vlpal.c
@@ -22,9 +22,100 @@
 
 #include "src/lib/16_vlpal.h"
 
-void VL_palette(bitmap_t *bmp, word *i, word qp, word aqoffset)
+//color checker~
+//i want to make another vesion that checks the palette when the palette is being appened~
+void modexchkcolor(imgtestpal_t *bmp, word *q, word *a, word *aa, word *z, word *i/*, word *offset*/)
 {
-	byte *p = bmp->palette;
+		byte *pal;
+		word zz=0;
+		pal = modexNewPal();
+		modexPalSave(pal);
+		//printf("q: %02d\n", (*q));
+		printf("chkcolor start~\n");
+		printf("1				   (*z): %d\n", (*z)/3);
+		printf("1				   (*i): %d\n", (*i)/3);
+//		  printf("1 offset of color in palette	(*q): %d\n", (*q)/3);
+		printf("wwwwwwwwwwwwwwww\n");
+		//check palette for dups
+		for(; (*z)<PAL_SIZE; (*z)+=3)
+		{
+			//printf("\n		z: %d\n", (*z));
+			//printf("		  q: %d\n", (*q));
+			//printf("		  z+q: %d\n\n", ((*z)+(*q)));
+			//if((*z)%3==0)
+			//{
+//----			  if(pal[(*z)]==pal[(*z)+3] && pal[(*z)+1]==pal[(*z)+4] && pal[(*z)+2]==pal[(*z)+5])
+				if((*z)==(*i))
+				{
+//					  printf("\n%d	[%02d][%02d][%02d]\n", (*z), pal[(*z)], pal[(*z)+1], pal[(*z)+2]);
+//					  printf("%d	  [%02d][%02d][%02d]\n\n", (*z)+3, pal[(*z)+3], pal[(*z)+4], pal[(*z)+5]);
+//0000				  (*z)-=3;
+					break;
+				}
+				else for(zz=0; zz<(*q); zz+=3)
+				{
+					//printf("zz: %02d\n", zz/3);
+					if(zz%3==0)
+					{
+						if(pal[((*z)+(*q))]==pal[((*z)+(*q))+3] && pal[((*z)+(*q))+1]==pal[((*z)+(*q))+4] && pal[((*z)+(*q))+2]==pal[((*z)+(*q))+5])	//break if duplicate colors found in palette because it have reached the end of the current data of the palette
+						{
+//							  (*z)-=3;
+//							  (*i)-=3;
+//							  printf("\nzq1:%d[%02d][%02d][%02d]\n", (zz+q), pal[(zz+q)], pal[(zz+q)+1], pal[(zz+q)+2]);
+//							  printf("zq2:%d[%02d][%02d][%02d]\n\n", (zz+q)+3, pal[(zz+q)+3], pal[(zz+q)+4], pal[(zz+q)+5]);
+							break;
+						}
+						else if(pal[zz]==pal[((*z)+(*q))] && pal[zz+1]==pal[((*z)+(*q))+1] && pal[zz+2]==pal[((*z)+(*q))+2])
+						{
+//							  printf("\n\nwwwwwwwwwwwwwwww\n");
+//							  printf("	zq: %d  [%02d][%02d][%02d] value that is needing to be changed~\n", ((*z)+(*q))/3, pal[((*z)+(*q))], pal[((*z)+(*q))+1], pal[((*z)+(*q))+2]);
+//							  printf("	zz: %d  [%02d][%02d][%02d] value that the previous value is going to change to~\n", (zz)/3, pal[zz], pal[zz+1], pal[zz+2]);
+//							  //printf("	  zv: %d  [%02d][%02d][%02d] wwww\n", (zz-z+q)/3, pal[(zz-z+q)], pal[(zz-z+q)+1], pal[(zz-z+q)+2]);
+//							  printf("	z : %d  [%02d][%02d][%02d] offset value~\n", (*z)/3, pal[(*z)], pal[(*z)+1], pal[(*z)+2]);
+//++++						  (*i)--;
+//							  (*z)--;
+							//expand dong here
+/*
+planned features that i plan to implement~
+image that has values on the pallete list!
+wwww
+no... wait.... no wwww
+*/
+							//for(zzii=0; zzii<3; zzii++)
+							//{
+								//printf("z+q: %d\n\n", ((*z)+(*q)));
+								a[(((*z)+(*q)))]=zz;
+							//}
+							(*aa)=(((*z)+(*q)));
+							printf("!!					  a[%02d]: %d\n", (((*z)+(*q))/3), zz/3);
+//							  printf("\n		  aa: %d\n\n", (*aa));
+//							  printf("	a[%02d]=(%02d) offset array i think the palette should be updated again~\n", ((*z)+(*q))/3, a[((*z)+(*q))/3]);
+//							  printf("wwwwwwwwwwwwwwww\n\n");
+						}
+						/*else
+						{
+							printf("================\n");
+							printf("zq: %d  [%02d][%02d][%02d]\n", ((*z)+(*q))/3, pal[((*z)+(*q))], pal[((*z)+(*q))+1], pal[((*z)+(*q))+2]);
+							printf("zz: %d  [%02d][%02d][%02d]\n", (zz)/3, pal[zz], pal[zz+1], pal[zz+2]);
+							printf("z : %d  [%02d][%02d][%02d]\n", (*z)/3, pal[(*z)], pal[(*z)+1], pal[(*z)+2]);
+							printf("================\n");
+						}*/
+						//printf("[%d]", (zz+q));
+					}
+				}
+		}
+		printf("wwwwwwwwwwwwwwww\n");
+		printf("2				   (*z): %d\n", (*z)/3);
+		printf("2				   (*i): %d\n", (*i)/3);
+//		  printf("2 offset of color in palette	(*q): %d\n", (*q)/3);
+		printf("chkcolor end~\n");
+		free(pal);
+}
+
+void
+VL_palette(imgtestpal_t *bmp, byte *p, word *i, word qp, word aqoffset)
+{
+	//byte *p = bmp->palette;
 	word w=0;
 	word q=0;
 	word qq=0;
@@ -183,7 +274,7 @@ aqpee:
 //printf("		  aa=%02d\n", aa);
 
 	//update the palette~
-	VL_palette(bmp, &pp, aq, aqoffset);
+	VL_palette(bmp, p, &pp, aq, aqoffset);
 	(*i)=pp;
 
 	if(aq<aa){ pp=q; aq++; goto aqpee; }
diff --git a/src/lib/16_vlpal.h b/src/lib/16_vlpal.h
index 63dc75d1..91d99384 100755
--- a/src/lib/16_vlpal.h
+++ b/src/lib/16_vlpal.h
@@ -3,6 +3,15 @@
 
 #include "src/lib/16_vl.h"
 
-void VL_palette(bitmap_t *bmp, word *i, word qp, word aqoffset);
+#define BEVERBOSEPALCHECK
+
+typedef struct
+{
+	word width;
+	word height;
+	word offset;
+} imgtestpal_t;
+
+void VL_palette(imgtestpal_t *bmp, byte *p, word *i, word qp, word aqoffset);
 
 #endif //__16_VLPAL_H__
diff --git a/src/lib/doslib b/src/lib/doslib
index 9fa17541..a4ede8f2 160000
--- a/src/lib/doslib
+++ b/src/lib/doslib
@@ -1 +1 @@
-Subproject commit 9fa1754125e085f823438c4ac18378b385a5dd0c
+Subproject commit a4ede8f20a10d3406aa898874b672960e4bb202e
diff --git a/src/lib/scroll16.c b/src/lib/scroll16.c
index a5b453a1..65f2f5e7 100755
--- a/src/lib/scroll16.c
+++ b/src/lib/scroll16.c
@@ -612,11 +612,11 @@ if(pagedelayrendermap){ sprintf(global_temp_status_text, "%-3u", mv->dx); modexp
 	/* the position within the map array */
 	i=ty * mv->map->width + tx;
 	for(	mv->dx=poopoffset;	mv->dx<(mv->page->sw+mv->dxThresh)/(poopoffset+1) && tx < mv->map->width;	mv->dx+=mv->map->tiles->tileWidth, tx++) {
-		if(i>=0)	/* we are in the map, so copy away! */
+		if(i>=0)
 			mapDrawTile(mv->map->tiles, mv->map->data[i], mv->page, mv->dx, y);
 		i++; /* next! */
 	}
-//if(pagedelayrendermap) delay(200);
+if(pagedelayrendermap) delay(200);
 }
 
 void near mapDrawCol(map_view_t *mv, int tx, int ty, word x, player_t *player, word poopoffset)
@@ -631,11 +631,11 @@ if(pagedelayrendermap){ sprintf(global_temp_status_text, "%-3u", mv->dy); modexp
 	/* We'll copy all of the columns in the screen,
 	   i + 1 row above and one below */
 	for(	mv->dy=poopoffset;	mv->dy<(mv->page->sh+mv->dyThresh)/(poopoffset+1) && ty < mv->map->height;	mv->dy+=mv->map->tiles->tileHeight, ty++) {
-		if(i>=0)	/* we are in the map, so copy away! */
+		if(i>=0)
 			mapDrawTile(mv->map->tiles, mv->map->data[i], mv->page, x, mv->dy);
 		i += mv->map->width;
 	}
-//if(pagedelayrendermap) delay(200);
+if(pagedelayrendermap) delay(200);
 }
 
 void mapDrawWRow(map_view_t *mv, int tx, int ty, word y)
diff --git a/src/test.c b/src/test.c
index 2f4fd6b5..e5d503de 100755
--- a/src/test.c
+++ b/src/test.c
@@ -22,6 +22,7 @@
 
 #include <stdio.h>
 #include "src/lib/16_vl.h"
+#include "src/lib/16_vlpal.h"
 #include "src/lib/16_in.h"
 #include "src/lib/scroll16.h"
 
@@ -32,6 +33,7 @@ static word far* clockw= (word far*) 0x046C; /* 18.2hz clock */
 
 void main(int argc, char *argv[])
 {
+	static word paloffset=0;
 	static global_game_variables_t gvar;
 	static player_t player[MaxPlayers];
 
@@ -41,6 +43,10 @@ void main(int argc, char *argv[])
 	int i, j;
 	word startclk, endclk;
 	word k;
+
+	imgtestpal_t bmp1, bmp2;
+	bmp1.width=bmp2.width=	40;
+	bmp1.width=bmp2.height=	30;
 	//====byte *pal, *pal2;
 
 	//====word colo=LGQ;
@@ -89,6 +95,9 @@ void main(int argc, char *argv[])
 	//====modexPalBlack();
 
 	/* load our palette */
+	VL_LoadPalFile("data/16.pal", &gvar.video.palette);
+	bmp1.offset=(paloffset/3);
+	VL_palette(&bmp1, &gvar.video.palette, &paloffset, 0, 0);
 	//====modexLoadPalFile("data/default.pal", &pal2);
 
 	/* overscan show */
@@ -111,13 +120,13 @@ void main(int argc, char *argv[])
 	modexShowPage(&gvar.video.page[0]);*/
 
 
-	modexClearRegion(&gvar.video.page[0], 0, 0, gvar.video.page[0].width, gvar.video.page[0].height, 15);
-	modexClearRegion(&gvar.video.page[0], 16, 16, gvar.video.page[0].sw, gvar.video.page[0].sh, 128);
-	modexClearRegion(&gvar.video.page[0], 32, 32, gvar.video.page[0].sw-32, gvar.video.page[0].sh-32, 42);
-	modexClearRegion(&gvar.video.page[0], 48, 48, gvar.video.page[0].sw-64, gvar.video.page[0].sh-64, 128);
+	modexClearRegion(&gvar.video.page[0], 0, 0, gvar.video.page[0].width, gvar.video.page[0].height, 1);
+	modexClearRegion(&gvar.video.page[0], 16, 16, gvar.video.page[0].sw, gvar.video.page[0].sh, 2);
+	modexClearRegion(&gvar.video.page[0], 32, 32, gvar.video.page[0].sw-32, gvar.video.page[0].sh-32, 3);
+	modexClearRegion(&gvar.video.page[0], 48, 48, gvar.video.page[0].sw-64, gvar.video.page[0].sh-64, 2);
 	modexCopyPageRegion(&gvar.video.page[1], &gvar.video.page[0], 0, 0, 0, 0, gvar.video.page[0].width, gvar.video.page[0].height);
-	modexClearRegion(&gvar.video.page[2], 0, 0, gvar.video.page[2].sw, gvar.video.page[2].sh, 47);
-	modexClearRegion(&gvar.video.page[3], 0, 0, gvar.video.page[3].sw, gvar.video.page[3].sh, 45);
+	modexClearRegion(&gvar.video.page[2], 0, 0, gvar.video.page[2].sw, gvar.video.page[2].sh, 4);
+	modexClearRegion(&gvar.video.page[3], 0, 0, gvar.video.page[3].sw, gvar.video.page[3].sh, 6);
 
 
 	/* fade in */
@@ -204,6 +213,9 @@ void main(int argc, char *argv[])
 	printf("version %s\n", VERSION);
 	VL_PrintmodexmemInfo(&gvar.video);
 	printf("tx=%d	", mv[gvar.video.sp].tx); printf("ty=%d	", mv[gvar.video.sp].ty); printf("player.d=%d\n", player[0].enti.d);
+	printf("\n====\n");
+	printf("0	paloffset=	%d\n", paloffset/3);
+	printf("====\n\n");
 	//IN_Shutdown();
 	//====modexPalBlack();
 	//====modexFadeOn(1, pal);
-- 
2.39.5