FINISH119 : FINISH127S X3 START129: FINISH191 : X4 START192: FINISH239 : The record numbers for each 8K block of the HSCREEN are put in variables START and FINISH. HSCREEN's 1 & 3 are 1024 bytes less than 16K. HSCREEN's 2 & 4T#:are 2048 bytes less than 32K.T*:T &HE0E4,NUMBER: NUMBERNUMBER1 : Sets the block number you selected and increments it for each loop.U" &HE097 :A system call that switches in the selected block to memory at 24576 to 32767. ($6000 to ($7FFF)U):UA96 : "A" equals the first byte of the two byte address that represents 24576, the start of the block of memory you are saving.U:V/ Y START FINISH 2 :We shall loop through 64 records of 128 bytes each, for a total of 8K.V6:V118,A: 119,0 :Set the 2-byte memory address for the first 128 bytes of a block of 256 bytes.V:W< FLAG0 #1,Y : #1,Y : 128-bytes are either saved (put) or loaded (get), depending on how you set the FLAG variable above.WC:W119,128 :Second byte of memory address is set 128 bytes higher for the second 128 bytes.W:X FLAG0 #1,Y1 : #1,Y1 :Another 128-bytes are saved (put) or loaded (get).X:XAA1 :Increment the first byte of the 2-byte address of the memory block being saved.X:X Y :Loop back for the rest of the current 8K block.X:Y X :Loop back for all the 8K blocks that comprise the HSCREEN.Y!:YÒ B,174: B1,11 :Restore the system Get/Put code that was patched above.Y:YŚY:Z$ǒ &HE0E4,59 :Restore the normal memory block for 8K at 24576 ($6000)550 EXEC &HE097 'System call to switch in the normal block.Z+:ZnɊ :Or RETURN or GOTO, depending on your requirements.Zu:Z:--------------------------------Z:[5:RESET PROTECT CODE - A Subroutine to prevent the reset button from erasing pokes to the system made by the subs above.[<:\+:This routine uses 9 bytes of free memory starting at location 243 ($F3). Many commercial machine language programs & utilities also use this memory. You may relocate this sub to any protected memory\:in the lower 32K of the computer provided its starting address is poked to 114 & 115 in 2-byte form. (PEEK (114) * 256 + PEEK (115) equals the address.)\$:]7.A(114):B(115) :Save address of reset vector. ($72)]y8114,0:115,243 :Vector to spare bytes at 243. ($F3)]B:^@LC243:C,18:C1,26:C2,80:C3,127:C4,255:C5,223:C6,126:C7,A:C8,B :9-Byte M.L. routine to prevent Reset from re-writing ROM to RAM & cancelling your changes.^FV43 :Vector to spare bytes at 243. ($F3)]B:^@LC243:C,18:C1,26:C2,80:C3,127:C4,255:C5,223:C6,126:C7,A:C8,B :9-Byte M.L. routine to prevent Resen the printed pamphlet that comes with this disk.B&/:The system default sets aside four 8k blocks, numbers 48 to 51, for Hi-Res graphics, but this sub will let you select any area of memory for a graphics screen. Still, you must be sure NOT to select a blockBi2:used by the operating system or the computer will crash.Bp5:Cb8:HSCREENS 1 & 3 require only TWO adjoining blocks of 8k. Therefore two of these screens can exist in the default blocks reserved. (48 to 51). Block 54 is used by the 40/80 column text screens, but if you areC;:not using these screens, another HSCREEN 1 OR 3 can go there.C>:CA:HSCREENS 2 & 4 require four 8k adjoining blocks.CD:DG "PLEASE ENTER THE STARTING MEMORY BLOCK NUMBER OF YOUR SCREEN";B : Find the first block number (lowest) where you want to put a graphics screen. Avoid programming loss or a crash by choosing a suitable block.E3J:You may wish to add some error trapping code at this point.E:M:FP B 64 C B 4: &HE074,0: &HE07D,0 : C (B64) 4: &HE074,1: &HE07D,1: 65497,0 : Factor variable "C" is created for use below. The "IF/THEN test checks for Blocks 64 to 127, which existFQ:on the CRC/DISTO 1 Megabyte board. The poke to &HE074 and &HE07D is for bank switching between two banks of 512K by VIDEO REGISTERS ONLY, and is NOT needed, and does nothing, for 128K and 512K COCO's.GR:Note the speed poke to 65497. Video registers, accessing the extra 512K on the CRC/DISTO upgrade, will work only at high speed as compared to either speed for the first 512K.GS:HVA &HE0EA: A,B: A1,B1: A2,B2: A3,B3 :The basic operating system's default table is changed to the selected blocks. Be sure NOT to poke A+2/A+3 with higher numbers than your CoCo's capacity.HY:II\ &HE076,C: &HE07F,C :The video default table is changed to reflect the newly selected memory addresses as per factor "C" above.IP_:Ib &HE097 :The MMU table is reset to the newly selected values.Ie:Jah &HE04D :Video registers are set as per the table changes above causing a switch to the default Hscreen. You can OMIT THIS LINE and later use the HSCREENn command.Jhk:Jn :or END or GOTO depending on the requirements of your program.J:J:-----------------------------------J:Kc:SUBROUTINE TO DISK SAVE OR LOAD A HI-RES GRAPHICS SCREEN TO OR FROM ANY USER SELECTED AREA OF MEMORY.Kj:K:This sub is extensively commented so it can be adapted to your own specific needs.K:L9:When packing for speed, remember you can reduce variables to two characters.L@:Lj:"Please enter name of file";FILE$ Lq:L:"Please Select Save or Load (S/L)? ";L44539 :Hold screen for inputM%I$: I$: I$"S" FLAG 0 : I$"L" FLAG 1 : :Set flag to indicate Save or LoadM,:MR: "Type of HSCREEN (1,2,3,4)?";Mv44539 :Screen hold for input.MHS (): HS: HS1 HS4 :Gets type of HSCREEN.N& HS1 HS3 HS2 : HS2 HS4 :"HS" Now indicates whether the screen will be 2 or 4 blocks of 8K.N-:N[: "Please enter the first block number"N "(lowest number) of the HSCREEN";NUMBER:Consult the printed Tutorial's Memory Block Table to find the right Block number. You may want to add moreOA:error trapping code here to prevent unsuitable block numbers.OH:P- (&HC004)215 B&HC2D5 : B&HC2F3 :Test for DOS version. If test result is not 215 then DOS 2.0 else you have DOS 2.1. "B" now is an operating system address to be patched to make this sub work.P B,158: B1,118 :Patch that makes the system Get/Put code transfer 128 bytes of memory that is pointed to by the two-byte address in memory location 118,119.Q65496,0 :Slow speed for disk I/OQ:QB"D",#1,FILE$,128 :Open file.Q#1, 128 A$ :Memory will be transferred 128 bytes at a time.Q:RSTART 1: FINISH 63 : We will be tricking the system into using data records to build one big data file of the Graphics screen memory. Each 8K block of memory will have 64 records of 128 bytes each for a total of 8192.R:R X1 HS :Loop for each block required for the selected HSCREEN.R:S X2 START65: HS2:Loop 5 times./Y (10A,10A)(309A,181A),,B :draw boxes on first graphics screen./hAA10: X/A1: C49: 500 :Sub prints to screen./,:0 @B50: 848 :The next graphics screen is selected to start at block No. 50. (See sub at 800.)0EJA0: 2: X1 2 :Loop for 2 circles0_T (159,95),150A,0,.60o^AA20: X0hA2: C51: 500 :Set parameters, print message, hold the second screen.0r:1|B54: 848 :The third and final graphics screen is selected to start at block 54. (See sub at 800.) This is the text screen block which is TEMPORARILY being overlayed by graphics.1:1:"BM15,90;E80;R120;F80;G80;L120;H80"1A3: C55: 5001:2pB48: 848: 650: B50: 848: 650: B54: 848: 650: 420 :This line fast flips you between the 3 screens drawn above.2w:2~:2(7,8),"THIS IS TEST SCREEN NO. ":(30,8),A2(7,10),"Using Memory Blocks ":(26,10),B:(29,10),"/":(29,10),C3s(9,12),"Press SPACEBAR for Next":(19,14),"or":(11,16),"Press ENTER to end.": 650 :Print and hold for a keypress.3y3v:3:SUBROUTINE TO HOLD THE SCREEN3:4z44539: (13) : &HE6E7,152: 65496,0: : :Holds screen for keypress. If ENTER is pressed, the text screen is cleared, HCLS and computer speed are restored to normal, and demo ends.4:4:-----------------------------------4:5:INITIALIZING SUBROUTINE FIXES THE HSCREEN & HCLS COMMANDS.5 :5ȕ 200,24576: 40 :Non users of BIG BASIC need to reserve 8K of protected memory between 24576 and 32767 ($6000 to $7FFF) to be used by the subroutine that disk saves/loads your graphics screens.6:The goal is to make sure the operating system's "stack", which is located in memory just below the user cleared string space, is NOT located between 24576 & 32767.7F:If the system's "stack" should ever be located in that memory area while running the save/load sub, an immediate crash would occur.7:The command "CLEAR 8200" will work just as well as CLEAR 200, 24576. (WIDTH 40 is optional.)7:8:(BIG BASIC users do not need to be concerned about the stack and can switch in Hi-Res graphics screens from either WINDOW. However, all disk saves/loads must be done from WINDOW 1. The save/load subroutine9d:will temporarily switch 8K blocks to WINDOW2 but this will not affect programming there because the sub ends by switching out the selected graphics blocks.)9k:9r::8 &HE6E7,152 :This is for HSCREEN 2 OR 4 which uses 30720 bytes of memory spread over 4 blocks of 8K. Since the last 1024 bytes are not used by the screen, this poke will::slightly increase the speed of the HCLS command. It patches the system to clear only 30720 bytes instead of the unnecessary default of 32768::;:If you elect to use HSCREEN's 1 & 3 only 15360 bytes are used by the screen in two 8K blocks of memory. For these screens you should POKE &HE6E7,92. This will speed<6:up the HCLS command and, more importantly, will allow you to use the next two 8K blocks for another graphics screen.<=::However, be aware that start-up garbage bytes are found in graphics memory until they are cleared. Use the HCLS command to clear these bytes the first time you use any new area of memory if you have>:disabled HSCREEN with the above poke.>:? 210 :Or RETURN or END depending on the requirements of your program.?!:?K :-----------------------------------?R#:?&:SUBROUTINE TO SELECT ANY AREA OF COMPUTER MEMORY TO HOLD A HI-RES GRAPHICS SCREEN.?):@J*:NOTE: This sub also switches to its default Hscreen using the selected memory. Omit line 872 to postpone the switch.@Q+:A5,:The CoCo 3's Memory Management Unit (MMU) manages all memory in blocks of 8K (8192 bytes). All blocks are numbered. See the MEMORY BLOCK TABLE iN&#:THIS PROGRAM IS USED TO RUN&E:BIG BASIC WITH ADOS3. IT IS&f:RUN AUTOMATICALLY FROM BIG&:BASIC'S AUTOSTART FEATURE&:WHICH WAS ENABLED BY ONE OF&:THE "ADOS-BB" PROGRAMS.&:&: AFTER "BIG BASIC" LOADS,' : THE FOLLOWING POKES WILL'- :MAKE THE TWO SYSTEMS WORK'= :TOGETHER.'D :'f :IT IS NECESSARY THAT ONE OF':THE TWO "ADOS-BB" PROGRAMS':BE RUN FIRST.':':A&H7000:360,(A):361,(A1)'B&HA4EB:B,189:B1,(A2):B2,(A3):B3,18(":"BIG BASIC now is ready.":(M"(C) Copyright 1988 by DANOSOFT.":: NECESSARY THAT ONE OF':THE TWO "ADOS-BB" PROGRAMS':BE RUN FIRST.':':A&H7000:360,(A):361,(A1)'B&HA4EB:B,189:B1,(A2):B2,(A3):B3,188G&:&': GRAPHICS UTILITY&.:& :A TUTORIAL TO DEMONSTRATE USING BASIC SUBROUTINES TO SAVE/LOAD MULTIPLE HI-RES GRAPHICS SCREENS FOR INSTANT RECALL IN A PROGRAM.& :'!: TAKES ADVANTAGE OF THE EXTRA MEMORY AVAILABLE IN A COCO 3.'(:'S:------------------------------------'Z:': Copyrighted in the United States and Canada February, 1990 by': BILL DANIELS for DANOSOFT of': Mississauga, Ontario, Canada.':( d:-----------------------------------('n:(x:This program is designed to be listed in the 40-column screen. Use POKE &HADF5,4 if you want the F2 key to pause the listing.(:(:----------------------------------(:):A printed pamphlet with a MEMORY BLOCK TABLE accompanies this disk. It is needed to use the subroutines provided below.):*:The following subs will let you save/load and use Hi-Res graphics screens anywhere in CoCo memory:* :*: @ LINE 700: Patch HCLS & HSCREEN @ LINE 800: Select Screen Memory @ LINE 900: Disk Save/Load Screens @ LINE 1000: Protect user changes from being reset.*:+:All subs can be packed into one or two lines of code for fast execution. Just delete all remarks, unnecessary spaces, & put multiple commands on the same basic line.+:,:You may wish to set & reset the CoCo3 speed poke before & after the first two subs. POKE 65497,0 for speed. POKE 65496,0 to return to normal speed. Do NOT use the speed poke with the Save/Load sub or any,:other I/O (such as printing) or you will scramble your data transfer.,:-:-----------------------------------:-D: SCREEN DISPLAY & DEMO PROGRAM-K:-Ȓ 65497,0: 1: 700 :Set for fast speed, add some variable room, and initialize.-Ғ &HFE0A,0: &HFE0B,63 :Change foreground and background colors..aג &HE6E7,92 : HCLS is set to clear only the two 8k blocks of an HSCREEN 1 (See initialization sub 700). 1 :Set default Hscreen type..B48: 848: :Clear blocks 48 & 49, using Selection sub that starts at line 800./A0: X 1 5 byte of the "B$" variable descriptor in the current window./I6:00@ A2,(M1): A3,(M2) : The binary representation of the address of "A$" in the other window is poked to the variable descriptor of "B$" in the current window. Printing "B$" at this point0gJ: would produce the "A$" of the other window.0nT:1`^A$B$: B$"" : Now "A$" in the current window is equal to the "A$" in the other window and "B$" has been cleared to a null. This final step was necessary because we had tricked the computer as to the location2Oh: of "B$". The operating system frequently shifts its string variables to different addresses within the allotted string space. If we had left "B$" with an address location from the other window, a crash2|r: eventually might have resulted.2|:2A$: : The variable has been permanently copied to the current window from the other window.3:3 :3P: HERE IS THE ABOVE PROGRAM PACKED INTO A ONE-LINE SUBROUTINE:3W:4E: If you use it with the hi speed poke, transfer of string variables will be reasonably fast. (Hi speed poke is: POKE65497,0 Be sure to restore speed to normal with POKE65496,0 before using your disk, printer, or modem.)4L:5>: For even greater speed, you can set up the memory variable "M" to "1020" in both windows prior to using the subroutine and omit these two steps in the subroutine. You also can dimension "B$" in the current window prior to5t: using the subroutine and omit the first B$="".5{:5:6VSWITCH:M1020:A(A$):M,(A):M1,(A2):M2,(A3):VSWITCH:M1020:B$"":A(B$):A,(M):A2,(M1):A3,(M2):A$B$:B$"":mension "B$" in the current window prior to5t: using the subroutine and omit the first B$="".5{:5:6VSWITCH:M1020:A(A$):M,(A):M1,(A2):M2,(A3):VSWITCH:M1020:B$"":A(B$):A,(M):A2,(M1):A3,(MB%: PROGRAM TO LOAD "BB 512/1-0"@: TO RUN UNDER ADOS3.H: k: ADOS REWRITES DISK BASIC TO: RS-DOS VERSION 1.0; SO ONLY: THE "BIG BASIC" DOS 1.0: VERSION WILL WORK WITH ADOS.: : FILES "BB 512/1-0" AND :"*/BAS" MUST BE READY ON5 :DISK TO USE THIS PROGRAM.S :ADOS3 MUST BE LOADED INn :YOUR COMPUTER FIRST.u::"EXTENDED ADOS3" HAS A HARD:TO RESOLVE CONFLICT WITH:"BIG BASIC" INVOLVING THE:OPERATING SYSTEM'S STACK.:THEREFORE, IF YOU ARE USING9:AN "EXTENDED ADOS3" EPROM,U:YOU MUST FIRST DO THEr:FOLLOWING TO RUN UNDER:STANDARD ADOS3::: DISABLE:DLOAD: RUN "ADOS3" (FROM DISK): ...RUN THIS PROGRAM.::IF YOU HAVE STANDARD ADOS3,:IN EPROM, NO DISABLE IS<:REQUIRED.C :!:A&H7000:A,(360):A1,(361):A2,(&HAD1A):A3,(&HAD1B)"44539,57:M"BB 512/1-0"#:BIG BASIC NOW WILL AUTOSTART$:THE "*/BAS" FILE WHICH HAS %:THE REST OF THE NECESSARY'&:POKES TO MAKE THE TWOA':SYSTEMS COMPATIBLE.!:A&H7000:A,(360):A1,(361):A2,(&HAD1A):A3,(&HAD1B)"44539,57:M"BB 512/1-0"#:BIG BASIC NOW WILL AUTOSTART$:THE "*/BAS" FILE WHICH HAS %:THE REST OF Tou use it and then ignores clearing thereafter./I:/&HF90D,48 :Sets "LOCATE" to the 2ND Memory Area./:/&HF66B,55:&HF688,63 :Sets the "WIDTH" command to the 2ND memory area./:0C&HF7BC,48 :Sets the BackSpace routine to the 2ND memory area.0J&:00&HF857,48:&HF866,55:&HF875,62 :Sets the Scroll routine to the 2ND memory area.0::0D"SECOND DISPLAY. PRESS SPACEBAR."0N:1X44539 :Hold Screen for Keypress1 b:13l140 :Go back to the 1ST screen.1:v:1:NOTE: Use of the "WIDTH" command in lines 320 and 580 will permit one screen to be 40 columns and the other 80 columns.1:2: You can disable the "CLS" of of the "WIDTH" command with POKE &HF670,33. Restore the normal "WIDTH" command with POKE &HF670,141.2:3: If the cursor is past half way in an 80-column screen, it will not be seen if you switch to 40 columns and the "CLS" is disabled in the "WIDTH" command, But you can45: restore the cursor with "CLS" or "LOCATE". Lines 200 and 440 are unnecessary if you are using "LOCATE" or "CLS".4<:5.: You can avoid flashing during screen switches by first setting the foregound color the same as the background with the PALETTE command, and then restoring the foreground5: color after the switch. Lines 160 & 320 and 400 & 580 are the likely places to do this.5:6: COPYRIGHT MAY/1989 By Bill Daniels for DANOSOFT of Mississauga, Can.and then restoring the foreground5: color after the switch. Lines 160 & 320 and 400 & 580 are the likely places to do this.5:6: COPYRIGHT MAY/1989 By Bill Daniels for DANOSOFT of Mississauga, Can&R :**************************************************************************&: '&: A SUBROUTINE TO PERMANENTLY COPY A STRING VARIABLE BETWEEN WINDOWS ''E(: ''2: Copyright June, 1989 ''<: '(8F: By Bill Daniels for Danosoft of Mississauga, Canada '(P: '(Z:**************************************************************************(d:)Fn: This subroutine starts after a variable named "A$" has been put in the other window.)Mx:*VSWITCH :We access the variable table from the other window. (Note that Window 2 must contain at least one variable or one line of program for VSWITCH to work from Window 1.)*&:+M1020 : The memory variable "M" is set for address 1020, a temporary area of memory used infrequently by the operating system. The system will not be using this memory during this subroutine; so we will.+:, A(A$) : "A" will equal the address of the "A$" variable descriptor. The first byte of the descriptor is the length; the third and fourth bytes are the address of the variable in binary.,:,M M,(A) :The length of "A$" is poked to address 1020.,T:,Ғ M1,(A2): M2,(A3) :The binary representation of the address of "A$" is poked to 1021 and 1022.,:-VSWITCH : The current window is restored to its original variables.-&:-kM1020 : The "M" memory variable is set for the current window.-r:.ZB$"": A(B$) : The "A" variable now has the address of the variable descriptor of a temporary variable ("B$") we will use in the current window. The B$="" was necessary to make sure "B$" was.: set up in the variable table before using the command "VARPTR"..":/B, A,(M) : The length of "A$" in the other window is put in the 1st < WINDOW1:500,25000 : SETS A ONE- BLOCK WINDOW 2.C:BLOCK59:M"WINDOW/DEM" :LOADS A RUNNING PROGRAM TO WINDOW 2 FROM WINDOW 1. THE SIMPLE TEST PROGRAM WAS SAVED WITH THE "SAVEM" COMMAND.(:2BLOCK48:M"PROGRAM/ 3" BIG BASIC <***"::::::5)"BY BILL DANIELS FOR":" DANOSOFT, MISSISSAUGA.":880 e:~ƎT~s~s9r P~Ypx~:" COPYRIGHT OCT/88 V2.2":::" ** READY!...PRESS BAR **":44539:685Χ !A!!'t '~J 9\U U'~J9)P3D)N3ؽ3ӽ3KO' &0 9'~J'~~5'M*~9~ ':' 9R=' /  - 9`-_ @-?  40V%"$S&_59B& L& ~؁W&I&󦄁N&01& O'~2' ֆ' 04~p13hߦ9ї罀Ŷ'' 0?_~9~Ҏ  ' '30~  ~-4&#'`" _@"?5o~~J|Жў13h枦0'<'"? S"_99'G'3A$13h9,;&(~\&P~y~罀''40o!콭~s~J~'$G&뽍ֶ'O L콭3 3'& '3A&+0&~~sOڧ% p5~ h&ݟ9 ض2'~(~U՞ '~JV9o9&:0'5:'1Z&0%*9"&0':'0%9"04 =;" ~J~w8''_"' ?'  ~r0%~r~J6r;%&+ &:%&! 9%& 7%& 6%"~~J<45' ''_' '?'9~LL'J'J~J"% LL %L 9wwww`_'O '!' "&$~' O~J0~~3~~0~'_' '?CPROGRAM2`````d` READY!...PRESS BARCPROGRAM2`````d` READY!...PRESS B `` 40`410,8:"THIS IS TEST PROGRAM":15,12`{"NUMBER 3 ":1,16:"*** Press Any Key For Menu Program ***":0,23`d44539:WINDOW1:20*20"(5)`nOX((AN)R):OY((AN)R)`xX160OX:Y96OY:500`X160OX:Y96OY:500aX160OX:Y96OY:500a4X160OX:Y96OY:500aOX160OY:Y96OX:500ajX160OY:Y96OX:500aX160OY:Y96OX:500aX160OY:Y96OX:500aȁ100a(15),(63)aC:(XSZ,YSZ)(XSZ,YSZ),,Baa:65496,0:P4IڢZ65496,0:,0:P4IڢR`AN !KC0SZOXPOY`XYN,bhўh؞֎hȰe(&#Pߧ'  Ƕv Ȏ$~:::::11)"WELCOME TO "::4)"****> BIG BASIC <***"::::::5)"BY BILL DANIELS FOR":" DANOSOFT, MISSISSAUGA.":880:"*" e:~ƎTdž&~s~9r P~Ypx~:" COPYRIGHT OCT/88 V2.3":::" ** USER:ROGELIO PEREA **":44539:685Χ !A!!'t '~J 9\U U'~J9)P3D)N3ؽ3ӽ3KO' &0 9'~J'~~5'M*~9~ ':' 9R=' /  - 9`-_ @-?  40V%"$S&_59B& L& ~؁W&I&󦄁N&01& O'~2' ֆ' 04~p13hߦ9ї罀Ŷ'' 0?_~9~Ҏ  ' '30~  ~-4&#'`" _@"?5o~~J|Жў13h枦0'<'"? S"_99'G'3A$13h9,;&(~\&P~y~罀''40o!콭~s~J~'$G&뽍ֶ'O L콭3 3'& '3A&+0&~~sOڧ% p5~ h&ݟ9 ض2'~(~U՞ '~JV9o9&:0'5:'1Z&0%*9"&0':'0%9"04 =;" ~J~w8''_"' ?'  ~r0%~r~J6r;%&+ &:%&! 9%& 7%& 6%"~~J<45' ''_' '?'9~LL'J'J~J"% LL %L 9wwww`_'O '!' "&$~' O~J0~~3~~0~ǎ~!!؞!j/hўh؞֎hȰe(&#Pߧ'  Ƕv Ȏ$~:::::11)"WELCOME TO "::4)"****> BIG BASIC <***"::::::5)"BY BILL DANIELS FOR":" DANOSOFT, MISSISSAUGA.":880:"*" e:~ƎTdž&~s~9r P~Ypx~:" COPYRIGHT OCT/88 V2.3":::" ** READY!...PRESS BAR **":44539:685Χ !A!!'t '~J 9\U U'~J9)P3D)N3ؽ3ӽ3KO' &0 9'~J'~~5'M*~9~ ':' 9R=' /  - 9`-_ @-?  40V%"$S&_59B& L& ~؁W&I&󦄁N&01& O'~2' ֆ' 04~p13hߦ9ї罀Ŷ'' 0?_~9~Ҏ  ' '30~  ~-4&#'`" _@"?5o~~J|Жў13h枦0'<'"? S"_99'G'3A$13h9,;&(~\&P~y~罀''40o!콭~s~J~'$G&뽍ֶ'O L콭3 3'& '3A&+0&~~sOڧ% p5~ h&ݟ9 ض2'~(~U՞ '~JV9o9&:0'5:'1Z&0%*9"&0':'0%9"04 =;" ~J~w8''_"' ?'  0%~r~J6r;%&+ &:%&! 9%& 7%& 6%"~~J<45' ''_' '?'9~LL'J'J~J"% LL %L 9wwww`_'O '!' "&$~' O~J0~~3~~0~ǎ~!!؞!j/ %$&')*+-./12378BB 512 BB 128!WINDOW DEM" BBDEMO BAS#6PROGRAM 3  PROGRAM 4  PROGRAM 5 ( PROGRAM 6  PROGRAM 7 , PROGRAM 8  PROGRAM 100 LOADER BASWOVIEWSBASBB 512 1-04BB 128 1-05VSWITCH STR VSWITCH NUM6 ADOS-BB 512 EADOS-BB 1289E* BASQRAPHICSBAS J ``' S165497:(33021)50S1S12`S1,0:S2S11::K$(128):A$(34)::K$K$K$K$"demo"K$"for"K$"use"K$"in"K$"window"K$K$K$K$K$K$;::1083,50`"** SWITCH BETWEEN WINDOWS AND":" PROGRAMS WITH "A$"WINDOW1"A$" AND":" "A$"WINDOW2"A$"."am(:"** THE "A$"CLEAR"A$" COMMAND WORKS":" NORMALLY IN THIS WINDOW. IN":" WINDOW 1 IT ALSO PARTITIONS."a2:"** "A$"LIST"A$" THIS PROGRAM TO SEE":" SAMPLE WINDOW & PROGRAM":" SWITCHING CODE AT THE END."b2<:K$K$K$K$K$"press"K$"bar"K$"for"K$"window"K$K$K$K$K$K$;:1530,49:1535,128:S2,0b9F:bnP44539 :HOLDS THE SCREEN FOR A KEY PRESS.buZ:bdWINDOW1 :SWITCHES BACK TO ORIGIN IN WINDOW 1...DIRECT MODE OR PROGRAM.bn:cx 20 :NEXT TIME WINDOW 1 SWITCHES TO THIS WINDOW, CONTROL WILL RETURN TO THIS LINE, WHICH, IN TURN, WILL CONTINUE THIS PROGRAM FROM THE BEGINNING.S1S2KAS 3 900dS2,0)n341,AR:342,ARixI$:I$""110:A(I$):A8A9A10A94A13130:120}S1,0:A13190A94RWRW1:RW6RW20:A8A10RWRW1:RW20RW6:A9A8CLCL20:CL1CL62A9CLCL20:CL62CL2X,Y:" ";:XCL:YRWCX,Y:3,3,B:CU$;:0,4:0,5:S2,0:120nX2A0:X22A15:X42A30:A45AAY5:A10390:A 100,302,303,304,305,306,307,308,500,310,390-100.BLOCK59:WINDOW2:950/BLOCK48:WINDOW2:9500BLOCK49:WINDOW2:950(1BLOCK50:WINDOW2:950B2BLOCK51:WINDOW2:950\3BLOCK52:WINDOW2:950v4BLOCK53:WINDOW2:9505BLOCK54:WINDOW2:5006BLOCK55:WINDOW2:95040:0,2:2,1,U:" NO PROGRAM. PROGRAM"A" NOT IN MEMORY.":0,4w8,5:"ONLY EIGHT BLOCKS OF 8K":8,7:"WERE LOADED ON STARTUP.":8,10:"This equals all optional":8,12:"memory in a 128k computer."8,15:"512K users can load in":8,17:"48 more 8k blocks in a":8,19:"similar manner."5,23:"*** PRESS ANY KEY FOR MENU ***";:0,2344539:95040::7,10:"PROGRAM 9 IS NOT AVAILABLE.":7,12:"ITS MEMORY CURRENTLY IS":7,14:"BEING USED BY THIS SCREEN.":410W44539500,25000:S165497:S2S11:S1,0:80::0,63:&HE047,63:&HE019:&HF91B,0:6A$,A,B:CU$(62)(62):CO$(58):X2:Y6:CL2:RW6:AR255::0,4[80::0,0:0,3:(80,32);:0,418,2:"Demo of BIG BASIC Running 58 Programs At Once!"0,4:0,3:(80,32);:0,40,4:0,21:0,3:(80,32);:1100X,Y:3,3,B:CU$;:0,4:0,52L156520:L115:L1,L5:A$:A$;:L:L1:0,5<K100L0,4:3,23:"Use ARROW KEYS/ENTER to Select * * Copyright/89 V1.0 DANOSOFT, Mississauga";:@І This Menu,Window Demo,Program 3,Program 4,Program 5,Program 6,Program 7,Program 8,Program 9,Program 10,Program 11,Program 12,Program 13,Program 14,Program 15چ Program 16,Program 17,Program 18,Program 19,Program 20,Program 21,Program 22,Program 23,Program 24,Program 25,Program 26,Program 27,Program 28,Program 29,Program 30 Program 31,Program 32,Program 33,Program 34,Program 35,Program 36,Program 37,Program 38,Program 39,Program 40,Program 41,Program 42,Program 43,Program 44,Program 452 Program 46,Program 47,Program 48,Program 49,Program 50,Program 51,Program 52,Program 53,Program 54,Program 55,Program 56,Program 57,Program 58, , rogram 37,Program 38,Program 39,Program 40,Program 41,Program 42,Program 43,Program 44,Program 452 Program 46,Program 47,Program 48,Program 49,Program 50,Program 51,Program 52,Program 53,Program 54hўh؞֎hȰe(&#Pߧ'  Ƕv Ȏ$~:::::11)"WELCOME TO "::4)"****> BIG BASIC <***"::::::5)"BY BILL DANIELS FOR":" DANOSOFT, MISSISSAUGA.":880 e:~ƎT~s~s9r P~Ypx~:" COPYRIGHT OCT/88 V2.2":::" ** READY!...PRESS BAR **":44539:685Χ !A!!'t '~J 9\U U'~J9)P3D)N3ؽ3ӽ3KO' &0 9'~J'~~5'M*~9~ ':' 9R=' /  - 9`-_ @-?  40V%"$S&_59B& L& ~؁W&I&󦄁N&01& O'~2' ֆ' 04~p13hߦ9ї罀Ŷ'' 0?_~9~Ҏ  ' '30~  ~-4&#'`" _@"?5o~~J|Жў13h枦0'<'"? S"_99'G'3A$13h9,;&(~\&P~y~罀''40o!콭~s~J~'$G&뽍ֶ'O L콭3 3'& '3A&+0&~~sOڧ% p5~ h&ݟ9 ض2'~(~U՞ '~JV9o9&:0'5:'1Z&0%*9"&0':'0%9"04 =;" ~J~w8''_"' ?'  ~r0%~r~J6r;%&+ &:%&! 9%& 7%& 6%"~~J<45' ''_' '?'9~LL'J'J~J"% LL %L 9wwww`_'O '!' "&$~' O~J0~~3~~0~'_' '?WINDOW/D"`ccc`db READY!...PRESS BARWINDOW/D"`ccc`db READY!...PRESS B `UU` 40`410,8:"THIS IS TEST PROGRAM":15,12`{"NUMBER 5 ":1,16:"*** Press Any Key For Menu Program ***":0,23`d44539:WINDOW1:20UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUP`````d`UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUP`````d`UUUUUUUUU `` 40`410,8:"THIS IS TEST PROGRAM":15,12`{"NUMBER 7 ":1,16:"*** Press Any Key For Menu Program ***":0,23`d44539:WINDOW1:20* 40210,8:"THIS IS TEST PROGRAM":15,12y"NUMBER 5 ":1,16:"*** Press Any Key For Menu Program ***":0,23d44539:WINDOW1:20CTEST/PRG`````d` READY!...PRESS B9Z&91(CZ&9Oq ?%"O $ ? &?&894;<=>?80123=5?~8~rP~l~4~QRS P ~  J9Q  5&%&j&~∁:~㉭~)~=2B~㴭?~F~ps~ ~7~F~~ù\~~Wѷ߫Ѻ& 1% ȴ Z&1 栦Z&9~~U  UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUAfU^UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUP/BAS`````d`UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUP/BAS`````d`UUUUUUUUU `UU` 40`410,8:"THIS IS TEST PROGRAM":15,12`{"NUMBER 10":1,16:"*** Press Any Key For Menu Program ***":0,23`d44539:WINDOW1:20*UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUP`````d`UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUP`````d`UUUUUUUUUhўh؞֎JhM(&#Pߧ'  Ƕv Ȏ$~:::::11)"WELCOME TO "::4)"****> BIG BASIC <***"::::::5)"BY BILL DANIELS FOR":" DANOSOFT, MISSISSAUGA.":880:"*" e:~ƎTdž&~s~9r P~Ypx~:" COPYRIGHT OCT/88 V2.3":::" ** READY!...PRESS BAR **":44539:685Χ !A!!'t '~J 9ЀU U'~J9)P3D)N3ؽ3ӽ3KO' &0 9'~J'~~5'M*~9~ ':' 9R=' /  - 9`-_ @-?  40V%"$S&_59B& L& ~؁W&I&󦄁N&01& O'~2' ֆ' 04~p13hߦ9ї罀Ŷ'' 0?_~9~Ҏ  ' '30~  ~-4&#'`" _@"?5o~~J|Жў13h枦0'<'"? S"_99'G'3A$13h9,;&(~\&P~y~罀''40o!콭~s~J~'$G&뽍ֶ'O L콭3 3'& '3A&+0&~~sOڧ% p5~ h&ݟ9 ض2'~(~U԰ '~Ji9o9&:0'5:'1Z&0%*9"&0':'0%9"04 =;" ~J~w8''_"' ?'  ~r0%~r~J6r;%&+ &:%&! 9%& 7%& 6%"~~J<45' ''_' '?'9~LL'J'J~J"% LL %L 9wwww`_'O '!' "&$~' O~J0~~3~~0~ǎ~!!!/hўh؞֎JhM(&#Pߧ'  Ƕv Ȏ$~:::::11)"WELCOME TO "::4)"****> BIG BASIC <***"::::::5)"BY BILL DANIELS FOR":" DANOSOFT, MISSISSAUGA.":880:"*" e:~ƎTdž&~s~9r P~Ypx~:" COPYRIGHT OCT/88 V2.3":::" ** READY!...PRESS BAR **":44539:685Χ !A!!'t '~J 9ЀU U'~J9)P3D)N3ؽ3ӽ3KO' &0 9'~J'~~5'M*~9~ ':' 9R=' /  - 9`-_ @-?  40V%"$S&_59B& L& ~؁W&I&󦄁N&01& O'~2' ֆ' 04~p13hߦ9ї罀Ŷ'' 0?_~9~Ҏ  ' '30~  ~-4&#'`" _@"?5o~~J|Жў13h枦0'<'"? S"_99'G'3A$13h9,;&(~\&P~y~罀''40o!콭~s~J~'$G&뽍ֶ'O L콭3 3'& '3A&+0&~~sOڧ% p5~ h&ݟ9 ض2'~(~U԰ '~Ji9o9&:0'5:'1Z&0%*9"&0':'0%9"04 =;" ~J~w8''_"' ?'  0%~r~J6r;%&+ &:%&! 9%& 7%& 6%"~~J<45' ''_' '?'9~LL'J'J~J"% LL %L 9wwww`_'O '!' "&$~' O~J0~~3~~0~ǎ~!!!/ `T :**************************************************************************`: '`: SUBROUTINES TO PERMANENTLY COPY A NUMERIC VARIABLE BETWEEN WINDOWS 'aG(: 'a2: Copyright June, 1989 'a<: 'b:F: By Bill Daniels for Danosoft of Mississauga, Canada 'bP: 'bZ:**************************************************************************bd:cn: Unlike string variables, the numeric variables always start at the same address in the variable tables after they are dimensioned. Therefore, to get the best speed when permanently copying numeric variables from onedo: window to another, two set-up subroutines (one for each window) should be run first. Normally you would not use them again. The actual copying subroutine (Line 700) could then be used repeatedly as required.dx:e: THE FOLLOWING SUBROUTINE IS TO BE PLACED AND RUN IN THE OTHER WINDOW FIRST140'eA0 : In this case, "A" has been selected as the variable to do all copying of numeric variables from one window to another. By using it on this line, we are guaranteeing that "A" has been dimensioned.f:f 1020,((A)256): 1021,((A)256((A)256))256 : The area of memory, 1020 & 1021, has been selected to contain the two-byte binary representation of the address of "A".f:g: The 1020 & 1021 addresses are used temporarily by the basic operating system near the end of a 41-byte string buffer for string manipulations. It is rare this memory is used by the system, but if your program usesht: long string manipulations, you might want to select other addresses, or repeat this subroutine just before copying your numeric variables between windows.h{:im: Line 170 finds the address of "A" with the VARPTR command. Then it converts this address into a two-byte binary representation and saves the two bytes in 1020 & 1021. The two-byte method is commonly used throughouti: the operating system to represent integer addresses up to 65535.i:i : This ends this subroutine for the other window.i:j:jS: THE NEXT SUBROUTINE IS RUN TO SET UP THE CURRENT WINDOW BEFORE COPYING:jZ:jA0 : "A" also has been selected for use in the current window.j :kfOTHER (1020)256(1021) : The variable OTHER now contains the address of the "A" in the other window which was saved by the above subroutine in 1020 & 1021.km:kCURRENT (A) : The variable CURRENT now has the address of the "A" in the current window.k:l!" : This ends the set-up subroutine for the current window.l(':l/,:l}6: THIS IS THE SUBROUTINE THAT COPIES NUMERIC VARIABLES BETWEEN WINDOWS:l;:l@VSWITCH : We access the other window's variable tables.lE:mJA B : The "A" variable in the other window gets the variable to be copied. While "B" is chosen here, it simply represents whatever variable we want. You could delete lines 320 to 340 from thisn%M: subroutine and just load "A" in the other window with the variable to be transferred.n,P:nmTVSWITCH : We return to the variables of the current window.ntY:o ^ X 0 4 : A loop is set up to get the five bytes of a numeric variable from the other window to the current window.oc:oh CURRENT X, (OTHERX) : Each byte of "A" in the other window is poked to "A" in the current window.om:or X : All five bytes are copied over.ow:pV| : The subroutine ends. "A" in the current window is the same as "A" in the other window.p]:pd:pk:p: HERE ARE THE ABOVE PROGRAMS PACKED INTO ONE-LINE SUBROUTINES:p:q_: If you use the actual copying subroutine (Line 700) with the hi-speed poke copying numeric variables will be fast. q: (The Hi-speed poke is: POKE 65497,0. Be sure to restore speed to normal with POKE 65496,0 before using your disk, printer, or modem.)q:r:rM: HERE IS THE PACKED SUBROUTINE TO BE RUN IN THE OTHER WINDOW FIRST:rT:rA0:1020,((A)256):1021,((A)256((A)256))256:r&:r(: r:: HERE IS THE PACKED SUBROUTINE TO BE RUN IN THE CURRENT WINDOW SECONDLY:rD:s'XA0:OT(1020)256(1021):CU(A):s.:s5:s: HERE IS THE SUBROUTINE THAT ACTUALLY COPIES THE NUMERIC VARIABLE FROM THE OTHER WINDOW TO THE CURRENT WINDOW FOLLOWING THE ABOVE TWO SET-UPS:s:t VSWITCH:AB:VSWITCH:X04:CUX,(OTX):X:0)256(1021):CU(A):s.:s5:s: HERE IS THE SUBROUTINE THAT ACTUALLY COPIES THE NUMERIC VARIABLE FROM THE OTHER WINDOW TO THE CURRENT WINDOW FOLLOWING THE ABOVE TWO SET-UPS:s:t VSWITCH:AB:VSWITCH:X04:CUX,(OB&%: PROGRAM TO LOAD "BB 128/1-0"&@: TO RUN UNDER ADOS3.&H: &k: ADOS REWRITES DISK BASIC TO&: RS-DOS VERSION 1.0; SO ONLY&: THE "BIG BASIC" DOS 1.0&: VERSION WILL WORK WITH ADOS.&:& : FILES "BB 128/1-0" AND' :"*/BAS" MUST BE READY ON'5 :DISK TO USE THIS PROGRAM.'S :ADOS3 MUST BE LOADED IN'n :YOUR COMPUTER FIRST.'u:':"EXTENDED ADOS3" HAS A HARD':TO RESOLVE CONFLICT WITH':"BIG BASIC" INVOLVING THE':OPERATING SYSTEM'S STACK.(:THEREFORE, IF YOU ARE USING(9:AN "EXTENDED ADOS3" EPROM,(U:YOU MUST FIRST DO THE(r:FOLLOWING TO RUN UNDER(:STANDARD ADOS3:(:(: DISABLE:DLOAD(: RUN "ADOS3" (FROM DISK)(: ...RUN THIS PROGRAM.(:):IF YOU HAVE STANDARD ADOS3),:IN EPROM, NO DISABLE IS)<:REQUIRED.)C :)!:A&H7000:A,(360):A1,(361):A2,(&HAD1A):A3,(&HAD1B))"44539,57:M"BB 128/1-0")#:BIG BASIC NOW WILL AUTOSTART)$:THE "*/BAS" FILE WHICH HAS* %:THE REST OF THE NECESSARY*'&:POKES TO MAKE THE TWO*A':SYSTEMS COMPATIBLE.)!:A&H7000:A,(360):A1,(361):A2,(&HAD1A):A3,(&HAD1B))"44539,57:M"BB 128/1-0")#:BIG BASIC NOW WILL AUTOSTART)$:THE "*/BAS" FILE WHICH HAS* %:THE REST OF T