> DispMap  Map out JSW rooms  25-07-97 JGH: 0.01 (1 29-07-97 JGH: 0.20 Will also do single room 2: <:&84:buf%256,Obj%513,Sprite%8,Icon%32:assem:room%=-1 FI"JSW Mapping Program"'"1: Small Map"'"2: Large Map"'"3: Single room" PA$=:"123",A$):'A$' Z3"Print out? (Y/N)";:P$=:"YyNn",P$):" "P$' dP$="Y"P$="y":P$="Y" n$"Base rom: "rom%:rom%=0:rom%=4 x copy(&A3FF,Obj%,513,rom%+1) !"Start room: "b%:b%=0:b%=60 A$="1":small: A$="2":&80:large: A$="3":room(b%,0,0):A%=:  : small :x%=0:y%=576 :  middle%=b%:x0%=x%:y0%=y% :here%=b%:map(here%,x%,y%) 8buf%?233<>here%:map(buf%?233,x%-128,y%):rd(here%) 8buf%?234<>here%:map(buf%?234,x%+128,y%):rd(here%) 5b%=buf%?235:y%=y%+64:b%=here% (b%=0 here%>2) b%=middle%:y%=y0% " :here%=b%:map(here%,x%,y%) ,5b%=buf%?236:y%=y%-64:b%=here% (b%=0 here%>2) 6-here%=middle%:y%=y0%:x%=x%+128:rd(here%) @ x%>&4FF:x%=0:y0%=128:y%=128 J,b%=buf%?234:b%=here% (b%=0 here%>2) TP$="Y":dump(32) ^ h: rassem:mc%50:a%=01 |AP%=mc%:[OPT a%*2:\ &70/1=>src, &72/3=>dst, &74/5=len, &76=rom "LDA &F4:PHA:LDA &76:JSR SetRom  LDY #0:LDA &75:BEQ ZeroPages  .loop (LDA (&70),Y:STA (&72),Y:INY:BNE loop $INC &71:INC &73:DEC &75:BNE loop .ZeroPages LDA &74:BEQ ZeroBytes .ZeroPageLp LDA (&70),Y:STA (&72),Y:INY DEC &74:BNE ZeroPageLp .ZeroBytes PLA  .SetRom STA &F4:STA &FE30:RTS ]: : &map(r%,x%,y%):rd(r%) 0"z%=0 127:b%=buf%?z%:a%=03 :A(b%&C0):x%+(a%+(z%7)*4)*4,y%-(z%8)*4):a%=4:z%=128::: D0(b%&C0):69,x%+(a%+(z%7)*4)*4,y%-(z%8)*4 Nb%=(b%&3F)*4:: X4z%=0 1:cx%=buf%!(215+z%*4):n%=buf%?(217+z%*4) b1d%=buf%?(214+z%*4):cy%=(cx%32)15:cx%=cx%31 lIn%:a%=0n%-1:69,x%+(cx%+((d%(1-z%))*2-1)*a%)*4,y%-(cy%-a%*z%)*4: v: : rd(r%):r%=room%: 7r%<64:copy(&8000+256*r%,buf%,256,rom%):room%=r%: 8copy(&8000+256*(r%-192),buf%,256,rom%+1):room%=r%: : copy(Src%,Dst%,Len%,Rom%) 2!&70=Src%:!&72=Dst%:!&74=Len%:?&76=Rom%:mc%: :  large  23,138,16,0,16,0,16,0,16,0 , 23,139,&3C,&42,&99,&A1,&A1,&99,&42,&3C : ":right2:top%=b%:up:b%=here% :here%=b%:26,12  ]room(here%,0,16):b%=buf%?233:b%<>here%:room(b%,32,0):buf%?233<>b%:room(buf%?233,0,0) j PROCroom(here%,0,0):b%=buf%?234:IFb%<>here%:PROCroom(b%,32,0):IFbuf%?234<>b%:PROCroom(buf%?234,0,16)  P$="Y":dump(17) *7rd(here%):b%=buf%?236:b%=here% (b%=0 here%>2) 4P$="Y":2:''':3 > b%=top%:REPEAT H> here%=b%:PROCrd(here%):b%=buf%?236:UNTILb%<2 OR b%=here% Rb%=top%:rd(b%):b%=buf%?234 \ b%=0 f: p z: ;up::here%=b%:rd(here%):b%=buf%?235:b%=here% b%=0  : Sright2:A%=2::here%=b%:rd(here%):b%=buf%?234:A%=A%-1:b%=here% b%=0 A%<1  : 2room(r%,x%,y%):28,x%,y%+15,x%+32,y%:rd(r%)  Disp: : %Disp:A%=07:23,128+A%:B%=07 (buf%?(161+A%*9+B%-1*(A%=7)):::30 ;A%=0127:B%=buf%?A%:C%=03:128+(B%64):B%=(B%*4)&FF :(A%7)=7 A%<>127:  :A%=01 @slope(A%,buf%?(214+4*A%),buf%!(215+4*A%),buf%?(217+4*A%)): GObjects:A%=240:buf%?A%<>255:Sprite(buf%?A%,buf%?(A%+1)):A%=A%+2 $#buf%?A%=255:PrN(buf%+128,): .: 8*slope(Type%,Dir%,Ad%,Num%):Num%<1: B"sx%=Ad%31:sy%=(Ad%&1E0)32: LFsx%,sy%);(133-A%);:sx%=sx%+2*((Dir%(1-Type%)))-1:sy%=sy%-Type% V2Num%=Num%-1:Num%<1 sx%>31 sx%<0 sy%<0: `: j4PrN(A%,F%):26,31,32+32*(A$="3"),16+x%32+y%8 t!C%=031:B%=A%?C%:B%>32:F%= ~1F%:B%>31 B%<128:B%-12*(B%=127) F%:32 : : *Objects:Num%=?Obj%: A%=Num%+1 256 T((Obj%?A%)63)=room%:(Obj%?(A%+256))31,Obj%?(A%+256)32-8*(Obj%?A%>127))""; : : &3FF)) n: 1,byte%: x 1,10,1,13::*FX229 (-1):=27:*FX125  *FX229,1 ! 1,27,1,76,1,num%,1,num%256  x%=0 1535 2:byte%=0  pixel%=0 7 @byte%=byte%*2+&200+(x%&1FF),511-pixel%*4-((x%&FFE00)16)) : 1,byte%::*FX229 % 1,10,1,13,3:(-1):=27:*FX125