GWBASIC and BASICA v 1.00 to 3.40

Category: System
Year: 1989
Description:Various GWBASIC and IBM BASIC, to run on clones.
Manufacturer: IBM
Localization: EN
OS: DOS

Files to download

#5871PCBASIC.RAR464.7 KB0x79FC0E3C


Scroll down for comments. Register to leave your one.

 




Comments

On Thursday January 15, 2015 ouhker said:

Create a 2 byte (basic) program, to unprotect the basic program (*.bas)
in DOS prompt or COMMAND prompt,
it can recover "NEW"ed program..
C:\>
debug
-e100
17c8:100 00.FF 00.0A
press space bar after 'FF'and return after 0A
-rcx
CX 0000
:2
-NRA.BAS
-W
Wirting 00002 bytes
-Q
C>\>
IN BASIC
10 PRINT "HELLO"
SAVE "TEST",P
Ok
NEW
Ok
LOAD "TEST"
Ok
LIST
Illegal function call
Ok
LOAD "RA
Ok
LIST
10 PRINT "HELLO"
Ok
NEW
Ok
LIST
Ok
LOAD "RA
LIST
THE "NEW"ED PROGRAM COMES OUT AGAIN

On Thursday January 15, 2015 ouhker said:

There are two other "BASICA" (*zip) you can download SOMEWHERE else.
..
The first one is (1) "BASIC V3 version1.00"
(though no "A", actually is version "A")
..The second one is (2) IBM basia 2.1 (real *.com)
However,
when playing the "sakura" (pcbasic\basic\*.bas)
..The first one (somewhere else) shows a lot of noises
..
The second one is a real *.com, (somewhere else)
and the problem is the basic rom (per se) is 32K
so merging basic rom with basica.com to make an "emulated" basica.com file,
there is not much space left for program to run,
(*.com , all code segment, data segment, stack segment points to the same location).
When playing the "sakura" in the "music.bas", the keyboard is inacurate.
..
basia3.1 and basica 3.2 both show "Incorrect DOS version"
..
The basica3.3 and basisa 3.4 (here) are acutally (outsource) to Microsoft,
(? from Wiki), and the same problem with GWBASIC),
1) the donkey (pcbasic\pcbasic\samples.bas) is gray (grey), i.e. darker.
2) the "art", "balls", and "space" are much darker.
..
The best amount (I think) is the basica 3.0,
which is (should be) developed by IBM alone.
..
10 REM COLOR &HE,&H1
20 REM CLS
30 A = RND
40 IF ABS(A - .1213501) < .000001 THEN PRINT "You are using GWBASIC OR IBM BASICA 3.3 OR 3.4, OR MSBASIC"
50 IF ABS(A - .7151003) < .000001 THEN PRINT "You are using IBM BASICA 1.X OR 2.X OR 3.0"
60 IF ABS(A - .7055475) < .000001 THEN PRINT "You are using Q BASIC OR QUICK BASIC"
70 IF ABS(A - .7055475) < .000001 THEN PRINT "or..."
80 IF ABS(A - .7055475) < .000001 THEN PRINT "QUICK BASIC or QB64 was used to compile this program."
90 IF ABS(A - .96862) < .000001 THEN PRINT "You are using Turbo BASIC"
100 IF ABS(A - .96862) < .000001 THEN PRINT "or"
110 IF ABS(A - .96862) < .000001 THEN PRINT "Turbo BASIC was used to compile this program."
120 END

On Sunday January 4, 2015 ouhker said:

10 DEFINT A-Z
20 'All variables will be integers
30 F$=COMMAND$
40 'Check to see if there's a command line
50 WHILE F$=""
60 PRINT "This program will write (from a COM file) to BASIC DATA statements "
70 LINE INPUT"Enter the name of the file to write to: ";F$
80 WEND
90 IF COMMAND$="" THEN LINE INPUT"Enter the name of the desired output file: ";O$
100 IF INSTR(F$,".")=0 THEN F$=F$+".COM" 'fix input spec
110 IF O$="" THEN O$=LEFT$(F$,INSTR(F$,".&q​uot;))+"BAS" 'fix output spec,
120 IF INSTR(O$,".")=0 THEN O$=O$+".BAS" 'both ways
130 OPEN"R",#1,F$,1
140 FIELD #1,1 AS A$ 'at a time into A$
150 LASTBYTE%=LOF(1) 'end of file position
160 OPEN"O",2, O$ 'output file is opened
170 PRINT #2, "100 GOTO 10000"
180 J%=1000
190 FOR I%=1 TO LASTBYTE%-1
200 GET 1,I%
210 X%=ASC(A$)
220 IF ((I%-1) MOD 10=0) THEN J%=J%+10:PRINT #2,"":PRINT #2,RIGHT$(STR$(J%),LEN(STR$(J%​))-1);" DATA ";
230 IF LEN(HEX$(X%))= 1 THEN PRINT #2,"&H0";HEX$(X%​); ELSE PRINT #2,"&H";HEX$(X%)​;
240 IF ((I%-1) MOD 109) THEN PRINT #2,",";
250 NEXT I%
260 IF ((LASTBYTE%-1) MOD 10=0) THEN PRINT #2,",";
270 GET 1,I%
280 X%=ASC(A$)
290 IF LEN(HEX$(X%))= 1 THEN PRINT #2,"&H0";HEX$(X%​); ELSE PRINT #2,"&H";HEX$(X%)
300 REM PRINT #2,"&H";HEX$(ASC​(A$))
310 PRINT #2, "": REM CHR$(13)
320 PRINT #2, "999 END"
330 PRINT #2, "10000 I=0:JC=0"
340 PRINT #2, "10010 OPTION BASE 1"
350 PRINT #2, "10020 DIM A%(";RIGHT$(STR$(LASTBYTE​%),LEN(STR$(LASTBYTE%))-1);&qu​ot;)"
360 PRINT #2, "10030 MEM%=VARPTR(A%(1))"
370 PRINT #2, "10040 FOR I=1 TO";LASTBYTE%
380 PRINT #2, "10050 READ JC"
390 PRINT #2, "10060 POKE MEM%,JC"
400 PRINT #2, "10070 MEM%=MEM%+1"
410 PRINT #2, "10080 NEXT"
420 PRINT #2, "10090 REM PUT SAMPLE CODE BELOW"
430 PRINT #2, "10100 REM E.G."
440 PRINT #2, "10110 REM C1%=2:C2%=3:C3%=0"
450 PRINT #2, "10120 REM TWOSUM=VARPTR(A%(1))"
460 PRINT #2, "10130 REM CALL TWOSUM(C1%,C2%,C3%)"
470 PRINT #2, "10140 REM PRINT C3%"
480 PRINT"Conversion complete. ";LASTBYTE%;" bytes read."
490 PRINT O$;" contains ";LOF(2);" bytes."
500 CLOSE
510 END

On Sunday January 4, 2015 ouhker said:

(my guess, IBM out source to Microsoft, as)
Both IBM BASICA 3.3 AND 3.4 using the same (pseudo random number generator)
as
10 PRINT RND
20 END
both gives 0.1213501,
, same as ALL versions of GWBASICs and MSBASIC (line editor BASIC
download somewhere)
,
while
IBM BASICA 1.00, 1.10, 2.00, 2.10, 3.00 all gives 0.7151002

On Thursday January 1, 2015 ouhker said:

5) BASIC programs shows that that Microsoft and IBM are
using different routine of pseudo-random number generator.
MSBASIC.COM AND GWBASIC.EXE
10 A = RND
20 IF ABS(A - .1213501) < .000001 THEN PRINT "You are using GWBASIC or MSBASIC"
30 REM IF ABS(A - .7151003) < .000001 THEN PRINT "You are using IBM BASICA"
But (after treatment with)
PC330\BASICA.COM,
PC331\BASICA.COM and
PC340\BASICA.COM
all give the same pseudo-random number, it seems that IBM is using the subroutines of
Microsoft..(? hence the suddent increase of very large file size) of (original basica.com)
Just my query

On Thursday January 1, 2015 ouhker said:

4) The other method to unprotect basic program.
You can download and run the pcbasic from following,
http://sourceforge.net/project​s/pcbasic/
any programs (saved with protected option) can still be listed

On Thursday January 1, 2015 ouhker said:

3)
To unprotect basic (msbasic, gwbasic, basica) programs
the simpliest way is below:
in command prompt
run
debug
-e100 (followed by )
-1700:0100 5A (or what ever garbage value)
-1700:0100 5A.FF 00.0A (FF followed by , 00 (or garbage value) appear,
(then 0A, followed by , 1A also works)
-rcx
cx 0000
:2 (input 2, size of file to be created will be only 2 bytes)
-nra.bas (or whatever you like)
-w
Writing 00002 bytes
-q
Experiment below
In BASIC, MSBASIC or GWBASIC,
10 PRINT "Test"
save "test",p
load "test"
list
Illegal function call
Ok
load "ra" (the basic program above)
Ok
list
10 PRINT "Test" (Program unprotected now
Ok
save "test2" (to write to another unprotected file)
(N.B.)
if you editing basic programs and erase the basic programs (in memory) accidentally, with the "new" command
you can recover your program program (by loading the 2 byte program above)
This can be helpful
In BASIC, MSBASIC or GWBASIC,
10 PRINT "Test"
list
10 PRINT "Test"
Ok
new
Ok
list
Ok (nothing listed)
load "ra
Ok
list
10 PRINT "test"
Ok

On Thursday January 1, 2015 ouhker said:

@Wendy Krieger
(after treatment with MOVBASIC,
they are essentially *.exe files
eventhough the name extension is .com)
only pc340/basic.com is genuine *.com file
To experiment:
In command prompt (or DOS prompt)
>
>debug basic.com (or debug basica.com)
-u
-17FE:0000 (mine is 17FE, yours will be different)
-17FE:0001
.
.
.
-17FE:001E
address starts at segment:0000
and typically the size of *.com files can only be 64K (65536 bytes),
with CS, DS, SS, all points to the same segment.
obviously PC330\BASICA.COM, AND PC340\BASICA.COM are not.
2)
The basica.com unzipped from IBMBASICA210.ZIP. is genuine *.com
>debug basica.com
-u
-17EE:0100 (mine is 17FE, yours will be different)
-17EE:0101
.
.
.
17EE:011E
-
The starting location is 100 (org 100h)

On Tuesday September 21, 2010 Kossolobow said:

For debugging the basica.com in \pc100\ with the original ROM BASIC
(www.hampa.ch/pce/download.htm​l) copied with DEBUG at 297 of the file
loaded without extension (it's an .EXE) helps a little BASICA.DEB
(DEBUG < BASICA.DEB > BASICA.T):
The tfd3 is for the little test
1 PRINT RND
2 END
RUN
which you must write after having started BASICA.DEB, then wait for .6291626
and Ok (vC1.10 prints another number, and tfd3 isn't correct)
and write SYSTEM
BASICA.DEB:
nbasica.exe
l
g=0 13
t
g=158 1af
t
g=0 22
t
g=100 3ff4
;list of the interruptions of BASICA.COM (number,address (segment is CS)):;
;(the other interruptions used contain all only IRET);
dcs:3d94,3df6
g=3ff4 1e1
t
g=2c71 f00
t
g=f02 f00
;code of the little BASIC programm:;
d10f9,1105
tfd3
;in BX: the "O" of Ok;
g
q

On Tuesday September 7, 2010 Kossolobow said:

Excuse, I?ve made an error. In BASICA.COM is ibm-basic-1.10-rom. But you can download from www.hampa.ch/pce/download.html ibm-basic-1.00.rom and copy it at 297(after having copied basica.com to
basica (without extension,its an .exe)) then copy basica basica.exe(or again .com).
If the DONKEY.BAS is too
fast, you can add a line 1711 R=250:FOR W=1 TO R:LOCATE 1,1:PRINT R:NEXT

On Tuesday August 24, 2010 Kossolobow said:

basica.com in \pc100\ in reality is an .exe (made by someone in 2008).
It contains the ROM BASIC and runs
very well (donkey.bas e.g.) on an
Pentium 100. The ROM BASIC is called
vC1.00, but differs from the original,
why it does it, isn?t clear in the
moment.

On Wednesday July 21, 2010  said:

Whats the password? The archive has the yellow key in the lower left corner (WinRAR) which indicates a password is needed. When I try to go ahead and unzip it is in fact saying corrupted.

On Monday March 22, 2010 Peter.Smith said:

It's a RAR archive and does not seem to be corrupted.
BASICA can't started on non IBM XT or IBM AT machines (means it does not run on a newer machine with a 386 or higher).
GWBASIC runs fine, I didn't recognize any problem.

On Monday September 21, 2009  said:

The archive is not good, is compromised.