To można użyć bezpośrednio... i będzie działać bez BATa !
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: ZGRYWUS.BAS
Constants & pointers:
Start of Name Table (VNT) : 000E
End of Name Table (VNTE) : 003C
Lenght of Name Table (VNTL) : 002F
Start of Variable Table (VVT) : 003D
End of Variable Table (VVTE) : 00E4
Length of Variable Table (VVTL) : 00A8
Number of Variables (NV) : 0015
Start of Code (STMTAB): 00E5
Length of Code : 09A3
Current command (STMCUR): 0A88
Length of current command : 0015
First byte after program (STARP) : 0A9D
Length of file : 0A9D
File len difference : 00000000
Variable table:
0001 SCALAR (00) 00: 0 GAP
0002 STRINGu (80) 01: SPoff: 0000 Len: 0 Dim: 0 M$
0003 STRINGu (80) 02: SPoff: 0000 Len: 0 Dim: 0 V$
0004 STRINGu (80) 03: SPoff: 0000 Len: 0 Dim: 0 F$
0005 STRINGu (80) 04: SPoff: 0000 Len: 0 Dim: 0 L$
0006 SCALAR (00) 05: 0 REA
0007 SCALAR (00) 06: 0 SAV
0008 SCALAR (00) 07: 0 IOCB
0009 SCALAR (00) 08: 0 CMD
000A SCALAR (00) 09: 0 BUF
000B SCALAR (00) 0A: 0 SIZ
000C SCALAR (00) 0B: 0 I
000D SCALAR (00) 0C: 0 X
000E SCALAR (00) 0D: 0 CNT
000F SCALAR (00) 0E: 0 LDR
0010 SCALAR (00) 0F: 0 TAP
0011 SCALAR (00) 10: 0 C
0012 SCALAR (00) 11: 0 A
0013 SCALAR (00) 12: 0 J
0014 SCALAR (00) 13: 0 L
0015 SCALAR (00) 14: 0 G
Main code starts here:
2 REM ??????????????????????????????
4 REM ü Úçňů÷őó? âů Ę?Â?×é¤îéĺ÷óëé ü
6 REM ü ¨ă? ?ąą? Ôáęĺíîéăĺ Áôáňé ü
8 REM š????????????????????????????
10 ? CHR$(125);"Zgrywus+":?
12 DIM M$(8192),V$(7),F$(120),L$(129)
14 REA=1536:SAV=1664:IOCB=832+16
16 CMD=IOCB+2:BUF=IOCB+4:SIZ=IOCB+8
18 V$="hhhŞLVä":I=REA:TRAP 22
20 READ X:POKE I,X:I=I+1:GOTO 20
22 I=USR(REA,ADR(L$),280):L$(129)=""
24 I=USR(REA,SAV,390)
26 CNT=USR(REA,ADR(M$),1000)
28 M$(CNT+1)=""
30 ? :? "1. File (format plikowy)"
32 ? "2. Boot (samodzielny kasetowy)"
34 ? "0. Quit (wyjscie z programu)"
36 OPEN #1,4,0,"K:":GET #1,X:CLOSE #1
38 IF X<48 THEN 30
40 ON X-47 GOSUB 70,42,52:GOTO 30
42 GOSUB 56:IF C THEN 46
44 A=ADR(M$):L=CNT:GOSUB 62:GOTO 50
46 POKE SIZ,0:POKE SIZ+1,0
48 I=USR(SAV,ADR(M$),ADR(M$)+CNT)
50 CLOSE #1:SOUND 0,0,0,0:RETURN
52 F$="C:":GOSUB 58
54 A=ADR(L$):L=128:GOSUB 62:GOTO 44
56 ? "Nazwa pliku ";:INPUT F$
58 C=(F$(1,1)="C")*255
60 OPEN #1,8,C,F$:POKE CMD,11:RETURN
62 I=INT(A/256):J=INT(L/256)
64 POKE BUF,A-256*I:POKE BUF+1,I
66 POKE SIZ,L-256*J:POKE SIZ+1,J
68 I=USR(ADR(V$),16):RETURN
70 END
100 REM --- READER -----------------
110 DATA 162,4,104,149,224,202,16,250
120 DATA 232,134,212,134,213,165,136
130 DATA 133,230,165,137,133,231,76
140 DATA 35,6,56,165,230,101,232,133
150 DATA 230,144,2,230,231,160,2,177
160 DATA 230,133,232,198,232,160,0
170 DATA 177,230,197,224,200,177,230
180 DATA 48,54,229,225,144,222,160,4
190 DATA 177,230,201,1,208,36,160,5
200 DATA 196,232,176,208,32,109,6,10
210 DATA 10,10,10,133,228,32,109,6,5
220 DATA 228,129,226,230,226,208,2
230 DATA 230,227,230,212,208,226,230
240 DATA 213,208,222,165,212,5,213
250 DATA 240,172,96,177,230,200,41
260 DATA 223,201,65,144,2,233,7,41,15
270 DATA 96,END
280 REM --- LOADER -----------------
290 DATA 0001000750E4A2018609BD040795
300 DATA 0C9DE0028E4402863DCA10F08EE7
310 DATA 02206E073044852C206E07852D25
320 DATA 2CC9FFF0EE206E07852E206E0785
330 DATA 2FA97F8DE202A9078DE302A52EC5
340 DATA 2CA52FE52D9010206E07302D8891
350 DATA 2CE62CD0EAE62DD0E62063071890
360 DATA BA6CE202A93C8D02D36CE002A43D
370 DATA CC8A0290034C7AE4B90004E63DA0
380 DATA 0160
390 REM --- SAVER -------------------
400 DATA A2046895E0CA10FA20CF06306A85
410 DATA F885E420CF0685F985E525F8C9FF
420 DATA F0EA20CF0685FA20CF0685FB20CF
430 DATA 06304AE6E4D002E6E5A5FAC5E4A5
440 DATA FBE5E5B0EBA5FAC9E3D0C5A5FBC9
450 DATA 02D0BFA9BF853ED0B9A000A5E2C5
460 DATA E0A5E3E5E1B013B1E2E6E2D002E6
470 DATA E3A43D990004C83005843DC88860
480 DATA A210482056E46838263EC860
Immediate code starts here:
32768 SAVE "D:ZGRYWUS.BAS"