Mr Robot Posted August 29, 2019 Share Posted August 29, 2019 People like @TIX must be giving the collectors apoplexy right now LOL he might release a dozen versions of a gfx hack before he hits a final version he is happy with and every one of those needs to be collected, catalogued, named and versioned or some collector in the future will think he's found some rare version of the game and add it. Of course in the process of adding these files, no one will say what was unique about the version they are adding and there will be a new (a) version added to the dat for future generations to be confused about. Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted August 30, 2019 Author Share Posted August 30, 2019 Back in the day I worked a bit with Aaron by sending him disks and magazines etc and what I had as a collection which was pretty big even then so he had a lot on his plate just dealing with my stuff let alone the rest of his archive. Cost me a sodding fortune in post to NZ too Its entirely possible that sets we all had picked up were not fully tested, as noticed the TOSEC archive is a MESS of inferior non properly checked images even with the attempts to clean it up. I certainly back then did not have the time to go through stuff, I was working LONG hours. I'm just saying its not always as cut and dried as it seems, yeah sure it would have been ideal to sit and run all this stuff one at a time but in the real world for people doing this as a hobby around their working life, not so easy That said I really appreciate the time you guys have given my question re the error and by the look of it, it seems there's corrupt stuff in other collections, so far how I'm spotting the rogue basic files is that almost every one has a mixed case name in long name format and so far its helped in sectioning them. Not the most ideal check but I'd presume there's no nak'ed header to pick out and its random... Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted August 30, 2019 Author Share Posted August 30, 2019 14 hours ago, Mr Robot said: People like @TIX must be giving the collectors apoplexy right now LOL he might release a dozen versions of a gfx hack before he hits a final version he is happy with and every one of those needs to be collected, catalogued, named and versioned or some collector in the future will think he's found some rare version of the game and add it. Of course in the process of adding these files, no one will say what was unique about the version they are adding and there will be a new (a) version added to the dat for future generations to be confused about. Yes, that's a good point.. With me I collect but not to a level where I am grabbing every thing, things like hacks leave me waiting for a final and any tests get looked at and deleted if I know there will be more and a final. Obviously for the completest people looking to charts release histories it must be hell to have so little info re the release. That's too maddening for me.... Quote Link to comment Share on other sites More sharing options...
Mr Robot Posted August 30, 2019 Share Posted August 30, 2019 Have a look at CHKBas from here https://www.atarimax.com/jindroush.atari.org/asoft.html If you run it on a corrupt file you will get this... chkbas "Kubert (b).bas" ChkBas v1.10 (c) 1999-2001 Jindrich Kubec <kubecj@asw.cz> ChkBas v1.10 (c) 1999-2001 Jindrich Kubec <kubecj@asw.cz> Atari Basic/Turbo Basic/Basic XL/Basic XE decompiler. Latest version can be found at http://www.asw.cz/~kubecj Published under GPL. See GPL.TXT. Thanks to Russ Gilbert for his SALVAGE programs. Input file: Kubert (b).bas Constants & pointers: Start of Name Table (VNT) : 000E End of Name Table (VNTE) : 0052 Lenght of Name Table (VNTL) : 0045 Start of Variable Table (VVT) : 0053 End of Variable Table (VVTE) : 0162 Length of Variable Table (VVTL) : 0110 Number of Variables (NV) : 0022 Start of Code (STMTAB): 0163 Length of Code : 1BD0 Current command (STMCUR): 1D33 Length of current command : 0014 First byte after program (STARP) : 1D47 Length of file : 1D27 File len difference : FFFFFFFFFFFFFFE0 File Length Incorrect! But run it on the correct version and you'll get this... chkbas "PROGRAM.BAS" ChkBas v1.10 (c) 1999-2001 Jindrich Kubec <kubecj@asw.cz> ChkBas v1.10 (c) 1999-2001 Jindrich Kubec <kubecj@asw.cz> Atari Basic/Turbo Basic/Basic XL/Basic XE decompiler. Latest version can be found at http://www.asw.cz/~kubecj Published under GPL. See GPL.TXT. Thanks to Russ Gilbert for his SALVAGE programs. Input file: PROGRAM.BAS Constants & pointers: Start of Name Table (VNT) : 000E End of Name Table (VNTE) : 0052 Lenght of Name Table (VNTL) : 0045 Start of Variable Table (VVT) : 0053 End of Variable Table (VVTE) : 0162 Length of Variable Table (VVTL) : 0110 Number of Variables (NV) : 0022 Start of Code (STMTAB): 0163 Length of Code : 1BD0 Current command (STMCUR): 1D33 Length of current command : 0014 First byte after program (STARP) : 1D47 Length of file : 1D47 File len difference : 00000000 Variable table: 0001 SCALAR (00) 00: 144 PAGE 0002 SCALAR (00) 01: 36864 CHS 0003 SCALAR (00) 02: 0 XHS 0004 STRINGu (80) 03: SPoff: 0000 Len: 0 Dim: 0 X$ 0005 STRINGu (80) 04: SPoff: 0000 Len: 0 Dim: 0 Y$ 0006 STRINGu (80) 05: SPoff: 0000 Len: 0 Dim: 0 S$ 0007 SCALAR (00) 06: 3 I 0008 SCALAR (00) 07: 219 A 0009 SCALAR (00) 08: 0 K 000A SCALAR (00) 09: 0 FLG 000B SCALAR (00) 0A: 0 SC 000C SCALAR (00) 0B: 0 M 000D SCALAR (00) 0C: 0 P 000E SCALAR (00) 0D: 0 LVL 000F SCALAR (00) 0E: 0 SCM 0010 SCALAR (00) 0F: 0 DIF 0011 SCALAR (00) 10: 0 X 0012 SCALAR (00) 11: 0 Y 0013 SCALAR (00) 12: 0 H 0014 SCALAR (00) 13: 0 SBG 0015 SCALAR (00) 14: 0 CHR 0016 SCALAR (00) 15: 0 MX 0017 SCALAR (00) 16: 0 MY 0018 SCALAR (00) 17: 0 Z 0019 SCALAR (00) 18: 0 ST 001A SCALAR (00) 19: 0 XR 001B SCALAR (00) 1A: 0 YR 001C SCALAR (00) 1B: 0 SBGM 001D SCALAR (00) 1C: 0 U 001E SCALAR (00) 1D: 0 L 001F SCALAR (00) 1E: 0 W 0020 SCALAR (00) 1F: 1 C 0021 SCALAR (00) 20: 0 CH4 0022 SCALAR (00) 21: 0 MH Main code starts here: 1 REM ******************** 2 REM ****** KUBERT ****** 3 REM ** BY KEMAL EZCAN ** 4 REM ** FRANKENSTR. 24 ** 5 REM ** 6457 MAINTAL 4 ** 6 REM ******************** 10 PAGE=144:CHS=PAGE*256:GOSUB 30000 20 DIM X$(27),Y$(27),S$(10) 22 RESTORE 25:FOR I=1 TO 27:READ A:X$(I,I)=CHR$(A):NEXT I 23 FOR I=1 TO 27:READ A:Y$(I,I)=CHR$(A):NEXT I 24 FOR I=1 TO 10:READ A:S$(I,I)=CHR$(A):NEXT I 25 DATA 1,5,9,13,17,3,7,11,15,1,5,9,13,17,3,7,11,15,1,5,9,13,17,3,7,11,15 26 DATA 0,0,0,0,0,3,3,3,3,6,6,6,6,6,9,9,9,9,12,12,12,12,12,15,15,15,15 30 DATA 91,72,60,121,45,35,29,144,182,243 49 FLG=1 50 REM SPIELBEGINN 51 POKE 77,0 60 SC=1:M=3:P=0:LVL=1:SCM=15:DIF=0.1 70 GRAPHICS 17:POKE 756,PAGE:SETCOLOR 2,1,14:SETCOLOR 1,3,4:SETCOLOR 3,10,4:SETCOLOR 0,0,8:SETCOLOR 4,0,0 100 REM NACH KAPUTT 110 GOSUB 16000:GOSUB 15000 120 COLOR 188:PLOT X,Y:H=7:SBG=0:CHR=188 130 SETCOLOR 1,INT(6*RND(1))+1,4:SETCOLOR 3,INT(5*RND(1))+10,4 140 A=INT(27*RND(1))+1:MX=ASC(X$(A,A))+1:MY=ASC(Y$(A,A)):LOCATE MX,MY,Z:IF Z<>7 AND Z<>135 THEN 140 141 COLOR 161:PLOT MX,MY:MH=Z 150 REM HAUPTSCHLEIFE 155 Unknown command 4D!!! COM4D 3 160 POKE 77,0:ST=STICK(0) 170 IF ST=9 AND X>2 AND Y<13 THEN CHR=187:GOSUB 1000:GOSUB 1800 180 IF ST=5 AND X<18 AND Y<13 THEN CHR=188:GOSUB 1100:GOSUB 1800 190 IF ST=10 AND X>2 AND Y>0 THEN CHR=190:GOSUB 1200:GOSUB 1800 200 IF ST=6 AND X<18 AND Y>0 THEN CHR=189:GOSUB 1300:GOSUB 1800 800 IF RND(0)>=DIF THEN 150 810 SOUND 0,146,12,15:COLOR MH:PLOT MX,MY 820 A=INT(27*RND(1))+1:MX=ASC(X$(A,A))+1:MY=ASC(Y$(A,A)):LOCATE MX,MY,Z:IF Z<>7 AND Z<>135 THEN 820 830 COLOR 161:PLOT MX,MY:SOUND 0,0,0,0:MH=Z 990 GOTO 150 991 A=INT(10*RND(1))+1:SOUND 0,ASC(S$(A,A)),10,15 992 COLOR H:PLOT X,Y:X=X+XR:Y=Y+YR:LOCATE X,Y,H:COLOR CHR:PLOT X,Y:Unknown command 4D!!! COM4D 1 993 SOUND 0,0,0,0 994 RETURN 1000 REM LINKS UNTEN 1010 XR=-1:YR=0:GOSUB 991 1020 XR=-1:YR=1:GOSUB 991 1030 XR=0:YR=1:GOSUB 991 1040 XR=0:YR=1:GOSUB 991:RETURN 1100 REM RECHTS UNTEN 1110 XR=1:YR=0:GOSUB 991 1120 XR=1:YR=1:GOSUB 991 1130 XR=0:YR=1:GOSUB 991 1140 XR=0:YR=1:GOSUB 991:RETURN 1200 REM LINKS OBEN 1210 XR=0:YR=-1:GOSUB 991 1220 XR=0:YR=-1:GOSUB 991 1230 XR=-1:YR=-1:GOSUB 991 1240 XR=-1:YR=0:GOSUB 991:RETURN 1300 REM RECHTS OBEN 1310 XR=0:YR=-1:GOSUB 991 1320 XR=0:YR=-1:GOSUB 991 1330 XR=1:YR=-1:GOSUB 991 1340 XR=1:YR=0:GOSUB 991:RETURN 1600 ? #6;CHR$(125):POKE 756,224 1800 REM LOCATE 1801 IF H=161 THEN H=32:GOTO 4000 1805 IF H=32 THEN 5000 1810 IF H<>7 THEN RETURN 1815 SOUND 0,182,10,15:SOUND 1,121,10,15:SOUND 2,144,10,15 1820 P=P+10:SBG=SBG+1:H=135 1830 COLOR 134:PLOT X-1,Y:COLOR 136:PLOT X+1,Y 1840 COLOR 131:PLOT X-1,Y+1:COLOR 132:PLOT X,Y+1:COLOR 133:PLOT X+1,Y+1 1850 COLOR 137:PLOT X-1,Y+2:COLOR 138:PLOT X,Y+2:COLOR 139:PLOT X+1,Y+2 1860 SOUND 0,0,0,0:SOUND 1,0,0,0:SOUND 2,0,0,0 1870 IF SBG<SBGM THEN RETURN 1880 GOTO 7000 4000 REM KAPUTT DURCH MONSTER 4001 POP :POP :POP 4010 COLOR 32:PLOT X-1,Y:PLOT X+1,Y:PLOT X-1,Y+1:DRAWTO X+1,Y+1 4020 PLOT X-1,Y+2:DRAWTO X+1,Y+2:PLOT X,Y+3:DRAWTO X,Y+5 4030 FOR U=0 TO 150 STEP 30:FOR I=U+100 TO U STEP -10:SOUND 0,I,10,15-(U/10):NEXT I:NEXT U 5000 POP :POP :POP :L=15 5010 COLOR H:PLOT X,Y:Y=Y+1:LOCATE X,Y,H:COLOR CHR:PLOT X,Y:SOUND 0,Y*10,10,L:SOUND 1,Y*10+5,10,L 5015 FOR W=1 TO 10:NEXT W:L=L-(L>0) 5020 IF Y<23 THEN 5010 5030 COLOR H:PLOT X,Y:FOR I=L TO 0 STEP -1:Y=Y+1:SOUND 0,Y*10,10,I:SOUND 1,Y*10+5,10,I:NEXT I 5035 FOR I=15 TO 0 STEP -0.5:SOUND 0,RND(0)*40,8,I:NEXT I 5040 M=M-1:IF M>0 THEN 100 5050 POKE 77,128:IF PEEK(53279)<>6 THEN 5050 5060 GOTO 50 7000 POP :POP :POP 7010 FOR I=15000 TO 0 STEP -170:SOUND 0,I,10,I/1000:NEXT I 7020 P=P+100:LVL=LVL+1 7030 SC=SC+1:IF SC>SCM THEN SC=1 7040 DIF=DIF+0.025 7045 IF LVL>15 THEN SC=INT(14*RND(1))+2 7050 GOTO 100 10000 DATA 0,0,1,0,0,0,1,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,10,0 10010 DATA 1,0,1,0,1,1,1,1,1,0,1,0,1,0,1,0,1,0,0,1,1,1,1,0,1,0,1,2,0 10020 DATA 1,1,1,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1,0,0,0,0,18,12 10030 DATA 0,1,0,1,0,1,1,1,1,1,0,1,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,10,6 10040 DATA 1,1,0,1,1,1,1,1,1,1,0,1,0,1,1,0,0,1,1,1,0,1,1,1,0,0,1,10,6 10050 DATA 0,1,0,1,1,1,1,1,1,0,1,0,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,12,3 10060 DATA 1,0,1,0,1,1,1,1,1,0,1,0,1,0,1,1,1,1,1,0,1,0,1,0,1,1,0,10,12 10070 DATA 0,0,1,1,0,0,0,1,1,1,1,0,1,0,1,1,1,1,1,0,1,0,0,1,0,0,0,16,3 10080 DATA 1,1,1,1,0,1,1,1,1,1,1,1,0,1,0,0,0,1,1,1,1,1,1,1,1,1,1,8,3 10090 DATA 1,1,0,1,1,1,1,1,1,0,1,1,1,0,1,1,1,0,0,1,0,1,0,1,1,1,1,10,6 10100 DATA 1,1,1,1,0,1,1,1,1,0,1,0,0,0,1,1,1,0,1,0,1,0,0,0,0,0,0,10,0 10110 DATA 0,0,1,1,0,0,1,0,1,0,1,1,1,1,1,0,1,1,1,1,0,0,1,1,0,0,1,10,6 10120 DATA 1,0,0,0,1,1,1,0,1,0,1,1,1,0,1,0,1,1,0,1,0,1,0,1,0,0,1,16,15 10130 DATA 1,1,1,1,1,1,1,1,1,0,0,0,1,0,0,0,0,1,1,1,1,1,0,1,1,1,0,2,12 10140 DATA 1,0,0,1,0,1,1,1,0,0,1,0,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,14,12 15000 REM SCREENAUFBAU 15010 RESTORE 9990+SC*10:SBGM=0 15020 FOR I=1 TO 27 15030 READ FLG:IF FLG=0 THEN NEXT I:GOTO 15100 15035 X=ASC(X$(I,I)):Y=ASC(Y$(I,I)):SBGM=SBGM+1 15040 COLOR 6:PLOT X,Y:COLOR 7:PLOT X+1,Y:COLOR 8:PLOT X+2,Y 15050 COLOR 3:PLOT X,Y+1:COLOR 4:PLOT X+1,Y+1:COLOR 5:PLOT X+2,Y+1 15060 COLOR 9:PLOT X,Y+2:COLOR 10:PLOT X+1,Y+2:COLOR 11:PLOT X+2,Y+2 15070 COLOR 44:PLOT X+1,Y+3:PLOT X+1,Y+4:COLOR 45:PLOT X+1,Y+5 15080 FOR L=14 TO 0 STEP -2:SOUND 0,45,10,L:SOUND 1,60,10,L:NEXT L 15090 NEXT I 15100 READ X,Y:RETURN 16000 ? #6;CHR$(125):POKE 756,224 16010 POSITION 0,8:? #6;"SCORE ";P 16020 POSITION 0,11:? #6;"LIVES ";M 16030 POSITION 0,14:? #6;"LEVEL ";LVL 16040 POSITION 4,23:? #6;"PRESS BUTTON" 16050 IF STRIG(0)<>0 THEN 16050 16055 POSITION 0,0:? #6;CHR$(125):POKE 756,PAGE 16060 RETURN 28000 DATA 1,60,126,90,219,255,219,165,255 28010 DATA 3,255,255,255,191,175,168,168,168 28020 DATA 4,255,255,255,255,255,255,129,129 28030 DATA 5,255,255,255,253,245,21,21,21 28040 DATA 6,0,0,0,0,15,63,127,255 28050 DATA 7,0,0,0,255,255,255,255,255 28060 DATA 8,0,0,0,0,240,252,254,255 28070 DATA 9,168,168,168,232,104,56,15,0 28080 DATA 10,129,129,129,129,129,129,129,255 28090 DATA 11,21,21,21,23,22,28,240,0 28100 DATA 12,36,24,36,24,36,24,36,24 28110 DATA 13,36,24,36,90,231,219,126,60 28120 DATA 27,60,126,86,215,255,187,199,255 28130 DATA 28,60,126,106,235,255,221,227,255 28140 DATA 29,60,126,126,255,253,254,255,255 28150 DATA 30,60,126,126,255,191,127,255,255,-1 30000 GRAPHICS 18:SETCOLOR 0,1,14 30010 POSITION 0,4:? #6;"EINEN MOMENT BITTE.." 30020 SOUND 0,25,12,4:SOUND 1,78,12,4:SOUND 2,116,12,6:SOUND 3,92,12,4 30030 RESTORE 28000 30040 READ C:IF C<>-1 THEN FOR I=0 TO 7:READ A:POKE CHS+C*8+I,A:NEXT I:GOTO 30040 30050 FOR I=0 TO 3:SOUND I,0,0,0:NEXT I:RETURN Immediate code starts here: 32768 SAVE "H:KUBERT.BAS" File may contain some errors! Done! Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted August 30, 2019 Author Share Posted August 30, 2019 (edited) I'll give it a shot as long as it works on X64 Sadly not Thanks for the thought.. Edited August 30, 2019 by Mclaneinc Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted August 30, 2019 Author Share Posted August 30, 2019 I hate DOSbox but I can get it running under this... Will have a play... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.