You: guest [login] [register]
Multitasking hurts!
MS-DOS books — buy link here
Scroll down for comments. Register to leave your one.
Spam?
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
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$,"."))+"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);")" 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
(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
4) The other method to unprotect basic program. You can download and run the pcbasic from following, http://sourceforge.net/projects/pcbasic/ any programs (saved with protected option) can still be listed
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
@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.html) 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.
Main: Abandonware Home | Tree of Life | All Downloads — Services: Most wanted | Recently added | Search — Community: Contribute | Donate | Membership | Forum
© Juliano Vetus & partners, 2004-till the end of time | vetus@vetusware.com | rss