+Andrew Davie Posted August 17, 2018 Share Posted August 17, 2018 The upside of all this is that Qb may be the single most duplicated/owned game in the entire existence of the Atari platform! :) 3 Quote Link to comment Share on other sites More sharing options...
Mr Robot Posted August 17, 2018 Author Share Posted August 17, 2018 The Holmes answer seems the most likely. These files show up in Holmes, Closer to Home, Tosec, Gamebase, AtariOnline and The "best games" pack pinned in these forums. The Holmes version of Qb; there are two of them, a kboot atr and one that matches the file structure I spotted here. If you extract the kboot you get a file with the same hash as the one called qb.obj. Oddly there was no qb.xex in the Holmes CD's Extracting those files and examining the andru.bas in there gives us a genuine bas file (contents below) So it does look like that atr image was ground zero for this weirdness! Here's the list of files from Holmes with Qb on them, notice "Realsports Tennis" appears as "Atari Tennis", sorry Holmes! There don't appear to be any files in the other collections that aren't on the Holmes CD's, so it looks like that is where it came from. Applications A-Z/Binary Buster.atr Applications A-Z/Copy Cat Disk Copy.atr Applications A-Z/Copymate XE 3.7.atr Applications A-Z/Diskey II DD.atr Applications A-Z/Diskey II ED.atr Applications A-Z/DrawIT.atr Applications A-Z/Dup 1050 Sector Copier.atr Applications A-Z/Elton C Low Menu Maker.atr Applications A-Z/Format Disk (warning).atr Applications A-Z/Happy 130XE Copier.atr Applications A-Z/Happy 256k Sector Copier.atr Applications A-Z/Home Filing Manager Print Utility.atr Applications A-Z/Ian K Menu Creator.atr Applications A-Z/Multiboot File Delete.atr Applications A-Z/Multiboot Sector Seeker.atr Applications A-Z/Multiboot to Binary File.atr Applications A-Z/Multiboot to Ultraspeed [1050].atr Applications A-Z/Multiboot to Warpspeed [810 1050].atr Applications A-Z/Multiboot Utilities.atr Applications A-Z/Rob C Menu Maker -800b.atr Applications A-Z/Rob C Menu Title Changer.atr Applications A-Z/Rob C Menu Transfer Utility.atr Applications A-Z/Sherlock 0.2 -800b.atr Applications A-Z/Syncopy.atr Applications A-Z/The Archiver 3.02.atr Applications A-Z/Translator OS-A.atr Applications A-Z/Translator OS-B.atr Applications A-Z/Translator XL.atr Atari Program Exchange (APX)/APX20209.atr Games A-L/Alley Cat.atr Games A-L/Atari Tennis.atr Games A-L/Attack.atr Games A-L/Bomb Blast It!.atr Games A-L/Boulderdash 2 [cht].atr Games A-L/Cannibals.atr Games A-L/Crypto-Gram.atr Games A-L/Death Race.atr Games A-L/Demon Attack -osb.atr Games A-L/Eastern Front [holmes].atr Games M-Z/Moon Lover Pinball.atr Games M-Z/Mr Dig.atr Games M-Z/Mr Robot & His Robot Factory [cht2].atr Games M-Z/Plaque Man.atr Games M-Z/Qb.atr Games M-Z/Risky Rescue.atr Games M-Z/Steve Davis Snooker.atr Games M-Z/Survivor.atr Games M-Z/The Legacy [final legacy beta].atr Here is the original "ANDRU.BAS". Yes it runs! Andrew, This should take you back 0 SN=1:MS=6:U=64:V=128:KY=764:CS=756:Z=0:O=1:BR=2:WL=4:SQ=64+3:STR=194:Q=240:Q2=239:FF=255:ESC=28:JY=15 1 DIM FL(Q),BK(Q),C(Q),G(Q),SXY(20),XYI(15),NFC(4) 2 GRAPHICS 18:POKE CS,V:SC=PEEK(88)+256*PEEK(89) 500 NFC(0)=1:NFC(1)=2:NFC(2)=3:NFC(3)=0 510 FOR I=1 TO JY:READ K:XYI(I)=K:NEXT I:DATA 0,0,0,0,0,0,1,0,0,0,-1,0,20,-20,0 1001 FOR I=32768 TO 32807:READ K:POKE I,K:NEXT I 1002 DATA 0,0,0,0,0,0,0,0,0,24,24,126,126,24,24,0,124,254,254,254,254,254,124,0,0,0,54,28,126,56,108,0 1006 DATA 255,255,255,255,255,255,255,255 1021 FOR I=Z TO Q2:FL(I)=0:NEXT I 1022 READ XY,NC:FOR I=O TO NC:READ K:SXY(I)=K:FL(K)=1:NEXT I:STXY=XY 1029 FOR I=Z TO Q2:READ K:G(I)=K:BK(I)=K:NEXT I 1040 GRAPHICS 18:POKE CS,V:FOR I=Z TO Q2:K=G(I):IF NOT K THEN 1044 1042 IF K=BR THEN K=STR 1043 POKE SC+I,K 1044 NEXT I:FOR I=O TO NC:POKE SC+SXY(I),SQ:NEXT I 1049 ND=Z 1050 PXY=XY:GOTO 2200 2000 M=STICK(Z):PXY=XY 2001 IF PEEK(KY)<>ESC THEN 2005 2002 POKE KY,FF:FOR I=Z TO Q2:G(I)=BK(I):NEXT I:XY=STXY:GOTO 1040 2005 IF ND=NC THEN 3000 2006 FI=FI+2:IF FI>255 THEN FI=Z 2007 A=INT(FI/16):K=FI-16*A:SETCOLOR 2,A,K 2009 IF M=JY OR NOT XYI(M) THEN 2000 2010 OXY=XY+XYI(M):IF NOT G(OXY) THEN XY=OXY:GOTO 2200 2020 IF G(OXY)<>BR THEN 2300 2030 ZXY=OXY+XYI(M):IF G(ZXY) THEN 2300 2041 ND=ND-FL(OXY)+FL(ZXY):G(ZXY)=BR:G(OXY)=Z:XY=OXY:POKE SC+ZXY,STR 2042 IF FL(ZXY) THEN POKE SC+ZXY,STR-64 2200 POKE SC+PXY,Z:POKE SC+XY,O 2203 FOR I=O TO NC:IF PXY=SXY(I) THEN POKE SC+PXY,SQ:GOTO 2000 2204 NEXT I 2300 GOTO 2000 3000 POKE KY,FF:SN=SN+O:IF SN>MS THEN SN=O:RESTORE 1021 3010 GOTO 1021 9999 DATA 128,4,125,68,188,131 10000 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 10001 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 10002 DATA 0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0 10003 DATA 0,0,0,0,0,0,0,4,0,4,0,0,0,0,0,0,0,0,0,0 10004 DATA 0,0,0,0,0,0,0,4,0,4,0,0,0,0,0,0,0,0,0,0 10005 DATA 0,0,0,0,4,4,4,4,2,4,4,4,4,0,0,0,0,0,0,0 10006 DATA 0,0,0,0,4,0,0,2,0,2,0,0,4,0,0,0,0,0,0,0 10007 DATA 0,0,0,0,4,4,4,4,2,4,4,4,4,0,0,0,0,0,0,0 10008 DATA 0,0,0,0,0,0,0,4,0,4,0,0,0,0,0,0,0,0,0,0 10009 DATA 0,0,0,0,0,0,0,4,0,4,0,0,0,0,0,0,0,0,0,0 10010 DATA 0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0 10011 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 10029 DATA 128,4,104,68,188,131 10030 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 10031 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 10032 DATA 0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0 10033 DATA 0,0,0,0,0,0,0,4,0,4,0,0,0,0,0,0,0,0,0,0 10034 DATA 0,0,0,4,4,4,0,4,0,4,0,0,0,0,0,0,0,0,0,0 10035 DATA 0,0,0,4,0,4,4,4,2,4,4,4,4,0,0,0,0,0,0,0 10036 DATA 0,0,0,4,0,0,0,2,0,2,0,0,4,0,0,0,0,0,0,0 10037 DATA 0,0,0,4,0,4,0,4,2,4,4,4,4,0,0,0,0,0,0,0 10038 DATA 0,0,0,4,0,4,0,4,0,4,0,0,0,0,0,0,0,0,0,0 10039 DATA 0,0,0,4,0,0,0,4,0,4,0,0,0,0,0,0,0,0,0,0 10040 DATA 0,0,0,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0 10041 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 10049 DATA 131,5,87,90,111,151,149 10050 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 10051 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 10052 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 10060 DATA 0,0,0,0,0,0,4,4,4,4,4,4,4,0,0,0,0,0,0,0 10061 DATA 0,0,0,0,0,0,4,0,4,0,0,0,4,0,0,0,0,0,0,0 10062 DATA 0,0,0,0,0,0,4,2,0,2,2,0,4,0,0,0,0,0,0,0 10063 DATA 0,0,0,0,0,0,4,0,2,2,0,0,4,0,0,0,0,0,0,0 10064 DATA 0,0,0,0,0,0,4,4,0,0,0,0,4,0,0,0,0,0,0,0 10065 DATA 0,0,0,0,0,0,4,4,4,4,4,4,4,0,0,0,0,0,0,0 10071 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 10072 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 10073 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 10079 DATA 170,6,45,68,126,128,147,190 10080 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 10081 DATA 0,0,0,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0 10082 DATA 0,0,0,4,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0 10083 DATA 0,0,0,4,0,4,4,4,0,4,0,4,0,0,0,0,0,0,0,0 10084 DATA 0,0,0,4,0,0,0,0,0,4,0,4,0,0,0,0,0,0,0,0 10085 DATA 0,0,0,4,4,0,4,4,0,0,0,4,0,0,0,0,0,0,0,0 10086 DATA 0,0,0,4,0,2,0,4,0,4,4,4,0,0,0,0,0,0,0,0 10087 DATA 0,0,0,4,0,2,4,0,2,2,0,4,0,0,0,0,0,0,0,0 10088 DATA 0,0,0,4,0,2,0,0,2,0,0,4,0,0,0,0,0,0,0,0 10089 DATA 0,0,0,4,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0 10090 DATA 0,0,0,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0 10091 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 10099 DATA 110,6,65,85,105,106,108,194 10100 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 10101 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 10102 DATA 0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0 10103 DATA 0,0,0,0,4,0,0,0,0,4,0,0,0,0,0,4,0,0,0,0 10104 DATA 0,0,0,0,4,0,0,0,0,2,0,0,0,0,0,4,0,0,0,0 10105 DATA 0,0,0,0,4,0,0,4,0,4,0,0,0,0,0,4,0,0,0,0 10106 DATA 0,0,0,0,4,4,4,4,4,4,0,0,0,0,0,4,0,0,0,0 10107 DATA 0,0,0,0,4,0,0,0,2,0,2,0,0,0,0,4,0,0,0,0 10108 DATA 0,0,0,0,4,0,0,2,0,4,0,2,0,0,0,4,0,0,0,0 10109 DATA 0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,4,0,0,0,0 10110 DATA 0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0 10111 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 10199 DATA 44,12,88,84,163,72,69,193,192,30,150,110,177,64 10200 DATA 0,0,0,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0 10201 DATA 0,0,0,4,0,0,0,4,0,0,0,0,4,0,0,0,0,0,0,0 10202 DATA 0,0,0,4,0,0,0,0,0,2,0,0,4,4,4,0,0,0,0,0 10203 DATA 0,0,0,4,0,4,4,2,4,0,2,2,0,4,4,4,0,0,0,0 10204 DATA 0,0,0,4,0,0,0,0,0,4,4,0,0,4,0,4,0,0,0,0 10205 DATA 0,0,4,4,4,4,4,0,0,4,0,2,2,0,0,4,0,0,0,0 10206 DATA 0,0,4,0,0,0,2,0,4,4,4,0,0,0,0,4,4,0,0,0 10207 DATA 0,0,4,0,0,2,0,2,0,0,0,4,4,4,0,0,4,4,4,0 10208 DATA 0,0,4,0,0,2,0,0,0,0,4,4,0,0,0,0,0,0,4,0 10209 DATA 0,0,4,0,4,0,0,0,2,0,2,0,0,0,4,0,4,4,4,0 10210 DATA 0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0 10211 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 andru.bas 3 Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 17, 2018 Share Posted August 17, 2018 Well that's all very interesting so TY. I have no clue what that basic program actually does, so any hints would be nice I think I discovered comments in about 1994, a decade later. 1 Quote Link to comment Share on other sites More sharing options...
Mr Robot Posted August 17, 2018 Author Share Posted August 17, 2018 It looks like a sokoban clone/variant 1 Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 17, 2018 Share Posted August 17, 2018 Oh! That was a great little program... yes, I wrote that for my brother way back in about 1983. I had no idea it survived. It was a tad slow but quite nifty. I recommend anyone give it a bit of a play. I recall it being quite a challenge. TYVM 7 Quote Link to comment Share on other sites More sharing options...
+Nezgar Posted August 17, 2018 Share Posted August 17, 2018 Now disks all formatted from a single same source, and then copied to or from or over? Ah good thought, if a template 'starter' disk was used for all subsequent loaded up disk images... maybe checking to see if vtoc/sector allocations are consistent on each disk? This type of analysis would also suggest which files were added to the disk image first... ie there should be no fragmentation or files out of order compared to the directory order. Quote Link to comment Share on other sites More sharing options...
carlsson Posted August 17, 2018 Share Posted August 17, 2018 So that makes 359 disks with Qb, 1 disk with the actual Andru game and 341 disks with a random block of code/data that pretends to be Andru? Quote Link to comment Share on other sites More sharing options...
Mr Robot Posted August 17, 2018 Author Share Posted August 17, 2018 So that makes 359 disks with Qb, 1 disk with the actual Andru game and 341 disks with a random block of code/data that pretends to be Andru? Yes I expect so... Maybe if the game were small enough the andru.bas code might survive, maybe the backup.obj would as well. Qb seems to survive because it's last on the disk so maybe even some of the qb.obj's are corrupt as well. I haven't looked for those files, I found these ones searching for the md5 of a valid qb.obj 1 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.