Re: Qb2bin?

 BBS: Inland Empire Archive
Date: 07-11-92 (15:50)             Number: 217
From: MARK BUTLER                  Refer#: NONE
  To: BRYAN HOOVER                  Recvd: NO  
Subj: Re: Qb2bin?                    Conf: (2) Quik_Bas
 On 07-10-92 BRYAN HOOVER wrote to MARK BUTLER...

 BH> Hey Mark, I got your screen saving file - with C .obj - and it did
 BH> not work. I tried it on my color monitor.  Was the routine meant for
 BH> mono?  I just wanted to let you know in case there's some bug you're
 BH> unaware of.

 ???huh??? Hmmm, it *should* work. I haven't had it choke on anything
 yet. Let's try another test with it (see code below).

 BH> Would you mind posting for those of us who are a bit new to this a
 BH> brief outline of what these files (UUE11, BIN2QB, etc.) do?  I have
 BH> not had a lot of time to sit down and playwith them and have seen
 BH> only bits and pieces of explaination.

 Well, with all these different bin to data conversion algorithyms
 floating around on the echo the shortest explanation of what they are
 doing is rendering binary files (coms, exes, objs etc) into a form
 that Fido will not object to. That is, to send binary material in a
 post here on the echo the text _must_ be lo-ascii printable
 characters. That is what these conversion programs are doing.

 BH> PPS - did you ever run accros that color attribute formula?

 Not yet.

 Ok, here's a little test-code to run MovBytes with (again). The first
 snippet is the QB test code. The second snippet is a recreator file
 to make MovBytes.obj included just in case your copy was corrupted.
   -----------------------8< CUT HERE  8<----------------------------
 DEFINT A-Z
 DECLARE SUB DrawBox (Uprow%, Ltcol%, Lorow%, Rtcol%)
 DECLARE SUB SaveScrn (Scr())
 DECLARE SUB RestScrn (Scr())
 DECLARE SUB MovBytes (fromseg, fromoff, destseg, destoff, nbytes)
 DIM ScrA(4000)

  SCREEN 0
  COLOR 7, 1
  CLS
  FOR i% = 1 TO 2000
        PRINT CHR$(176);
  NEXT
  LOCATE 25, 18
  PRINT "Press CTRL-C to quit or any other key to continue";
 DoIt:
  SLEEP
  SaveScrn ScrA()
  COLOR 0, 7
  DrawBox 5, 15, 15, 65

  LOCATE 10, 30
  PRINT "Well... is it working?"
  SLEEP
  RestScrn ScrA()
  GOTO DoIt

 SUB DrawBox (Uprow%, Ltcol%, Lorow%, Rtcol%)
  Wide% = (Rtcol% - Ltcol%) - 1
  LOCATE Uprow%, Ltcol%
  PRINT CHR$(201); STRING$(Wide%, CHR$(205)); CHR$(187);
  FOR i = Uprow% + 1 TO Lorow% - 1
        LOCATE i, Ltcol%
        PRINT CHR$(186); SPACE$(Wide%); CHR$(186);
  NEXT i
  LOCATE Lorow%, Ltcol%
  PRINT CHR$(200); STRING$(Wide%, CHR$(205)); CHR$(188);
 END SUB

 SUB RestScrn (Scr()) STATIC
  DEF SEG = &H40
  equip = PEEK(&H10)
  IF (equip AND 48) = 48 THEN
        destseg = &HB000
  ELSE
        destseg = &HB800
  END IF
  destoff = 0
  fromseg = VARSEG(Scr(0))
  fromoff = VARPTR(Scr(0))
  nbytes = 4000
  MovBytes fromseg, fromoff, destseg, destoff, nbytes
 END SUB

 SUB SaveScrn (Scr()) STATIC
  DEF SEG = &H40
  equip = PEEK(&H10)
  IF (equip AND 48) = 48 THEN
        fromseg = &HB000
  ELSE
        fromseg = &HB800
  END IF
  fromoff = 0
  destseg = VARSEG(Scr(0))
  destoff = VARPTR(Scr(0))
  nbytes = 4000
  MovBytes fromseg, fromoff, destseg, destoff, nbytes
 END SUB
   -----------------------8< CUT HERE  8<----------------------------
 Now for MovBytes.obj
   -----------------------8< CUT HERE  8<----------------------------
 DEFINT A-Z  ' Created by BIN2QB 3.2 freeware 7/92
 f$="MOVBYTES.OBJ":LSBs=3
 CLS : PRINT "Creating ";f$
 OPEN f$ FOR BINARY AS #1 :FSize&= 418
 ON ERROR GOTO Done:LOCATE 2,1:PRINT STRING$(50,176)
 DO
  READ Lyne$:LynLen=LEN(Lyne$)
  FOR i=1 TO LynLen
    Power=((i-1)MOD 4)*6
    B&=(ASC(MID$(Lyne$,i,1))-59)*2^Power:C&=C&+B&
    IF i MOD 4=0 THEN
      Stored&=Stored&+3:ChkSum&=ChkSum& AND C&
      ChkSum&=ChkSum&+(C& XOR &H1D1E):LOCATE 2,1
      PRINT STRING$(CINT(Stored&/FSize&*50),219):LOCATE 2,53
      PRINT USING "###";CINT(Stored&/FSize&*50)*2;
      PRINT "%":IF Stored&>FSize& THEN LSBs=3+(FSize&-Stored&)
      Bin$=LEFT$(MKL$(C&),LSBs)
      PUT #1,,Bin$:C&=0
    END IF
  NEXT i:LOOP
 DATA ;m;;EoqVqDQYoPqWiGASCU;;;?U;>T@;Qy>;;KkKJLOL?KOKO@O<>x_NNLp;=HpO
 DATA CSOKMx@L<LPKDK=DN`PN=x?NNT;L@DoOTpo<_K=PT<PLNT;L@D?PT<@;QA@;HooN
 DATA QDOQOPoOZLPLSLP<ZLOKO@O<>x_NNL@<ZDoONT;LBDpNP<P>Hx_P=`@P@HpR?@?P
 DATA <tKNJT`KTLPLNxpKJtoOOlKNJT`KTLPLNx`KNH@;SY;;C\=;FCK;;[t<;[?;;kk;
 DATA <;;aB;;M;;K>??;;SY;;C<;;IOK;;[t<;;=;;W;=<;;aB;;C;;K=E?;;Ci<;;?;C
 DATA [;=C[;=C[;=C[;=C[;=C[;=C[;=C[;=;U];;Jwj;zJkz?;;bF;;?<?\;MGk??KO;
 DATA ;[S=;;kbHlOM=HOL;[S<;;KbkoA;Gq;;EwpR\HaWoPrW`LA;;kC>;_kRhxaX`LQS
 DATA o@A;;;EF;?;;;Op]gjcRAwzHFu@=zZn]YdkzrgcRGwzHFu`>zZ^a;;;;;GClEo`m
 DATA E;;;WQ;;Gr\P=;;_J;;;<[KNJT`KTLPLN<;;;;[]=;;G;;;;
 Done:
  CLOSE #1: PRINT
  IF ChkSum&<> 7454  THEN
   PRINT "DATA corrupt!  File deleted."
   KILL f$
 ELSE
   PRINT f$;" created."
 END IF: END
 --------------------------8< CUT HERE  8<----------------------------

 Ok, let's see if this one will run for ya. Let me know what happens.


 -----------> MHB :-)


... OFFLINE 1.40 * Shareware author dies:  .GIF at eleven!
...................................
Outer Court
Echo Basic Postings

Books at Amazon:

Back to BASIC: The History, Corruption, and Future of the Language

Hackers: Heroes of the Computer Revolution (including Tiny BASIC)

Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution

The Advent of the Algorithm: The Idea that Rules the World

Moths in the Machine: The Power and Perils of Programming

Mastering Visual Basic .NET