home *** CD-ROM | disk | FTP | other *** search
/ Archive Magazine 1997 / ARCHIVE_97.iso / text / hints / vol_06 / issue01 next >
Text File  |  1995-02-16  |  22KB  |  574 lines

  1. Hints and Tips
  2. 6.1
  3. Å   Alt characters Ö On upgrading from RISC-OS 2 to RISC-OS 3.1, I thought
  4. I had lost my É╫æ character. I eventually found that it had moved from
  5. <alt-,> to <shift-alt-,>. (Even on RISC-OS 3.0 on the A5000 it is still
  6. <alt-,>.) So I investigated all the possible ALTernatives(!). Here are
  7. all the ALT characters I found. They are laid out in QWERTY order but
  8. where no special character appeared, the key is not included in the
  9. list.
  10. 6.1
  11. key   ALT   shift ALT
  12. 6.1
  13. `   ¼   ░
  14. 6.1
  15. 1   ╣   í
  16. 6.1
  17. 2   ▓  
  18. 6.1
  19. 3   │  
  20. 6.1
  21. 4   ╝  
  22. 6.1
  23. 5   ╜  
  24. 6.1
  25. 6   ╛  
  26. 6.1
  27. 9      ▒
  28. 6.1
  29. r   ╢   «
  30. 6.1
  31. y      Ñ
  32. 6.1
  33. o   °   ╪
  34. 6.1
  35. p   ■   ▐
  36. 6.1
  37. \      ª
  38. 6.1
  39. a   µ   ╞
  40. 6.1
  41. s   ▀   º
  42. 6.1
  43. d   ≡   ╨
  44. 6.1
  45. f      ¬
  46. 6.1
  47. z   ½  
  48. 6.1
  49. x   ╗  
  50. 6.1
  51. c   ó   ⌐
  52. 6.1
  53. m   ╡   ║
  54. 6.1
  55. ,      ╫
  56. 6.1
  57. .      ≈
  58. 6.1
  59. /      ┐
  60. 6.1
  61. I think that is all there is, but if anyone finds any more, let us know.
  62. Ed.
  63. 6.1
  64. Å   Annual service kit Ö In answer to Paulæs comment about hard drives in
  65. Archive 5.12, p.8, Iæd like to sing the praises of the Alarm application
  66. (on one of the support disks or in ROM on RISC-OS 3). (You will see the
  67. link if you read on! Ed)
  68. 6.1
  69. I, too, would have forgotten completely about the annual replacement of
  70. filter and batteries, but for this application (which, thanks to my Boot
  71. file, always resides on the iconbar): When my machine was a year old,
  72. Alarm reminded me of this fact in no uncertain terms, (Éurgentæ alarm,
  73. repeating every hour), so there was very little chance of overlooking
  74. this necessary bit of maintenance. Jochen Konietzko, K÷ln, Germany.
  75. 6.1
  76. Å   Apple Laser Writer II NT Ö Here is some information for anyone wanting
  77. to make a cable link from an Archimedes to an Apple Laser Writer II NT.
  78. The connections are as follows...
  79. 6.1
  80.    Archimedes   LaserWriter II NT
  81. 6.1
  82.    Pin         Pin
  83. 6.1
  84.    2   (RXD)   ÖÖÖÖ   3   (TXD)
  85. 6.1
  86.    3   (TXD)   ÖÖÖÖ   2   (RXD)
  87. 6.1
  88.    5   (0V)   ÖÖÖÖ   7   (0V)
  89. 6.1
  90.    6   (DSR)   ÖÖÖÖ   20   (DTR)
  91. 6.1
  92. The Archimedes pins DCD (1), DTR (4) and CTS (8) are all linked
  93. together.
  94. 6.1
  95. When using a RISC-OS printer driver you should choose the Serial
  96. connection with 9600 baud rate, 8 data bits, no parity and 1 stop bit. 
  97. XOn/XOff protocol should also be used.
  98. 6.1
  99. Å   DDE Pascal Ö Some would-be users of DDE !Pascal (on Careware 17) will
  100. have discovered that it wonæt function in Computer Conceptsæ Compressed
  101. Filing System (CFS), where it generates the error ÉSpecial field not
  102. allowed in filesystem prefix to OS_CLIæ. This means that the command
  103. line interpreter, which is invoked to run the Pascal tool, objects to
  104. some pathname which begins with the prefix ÉCFS#æ. The offending
  105. pathname turns out to be the <Pascal$Dir>.Pascal, as assigned into
  106. Alias$Pascal by the !Run file with the apparent function of enabling the
  107. compiler to be located in the application directory. The remedy is to
  108. comment out the line which assigns Alias$Pascal and move the compiler
  109. (i.e. <Pascal$Dir>.Pascal) to your library. This brings the configura
  110. tion into line with that of the C compiler and other DDE tools and
  111. causes É*Pascalæ commands to be serviced by default from the current
  112. library without any explicit reference to a filesystem.ááMike Kinghan,
  113. Oxford
  114. 6.1
  115. Å   DDE Pascal (Careware 17) Ö The release of the public-domain Norcroft
  116. Pascal compiler for the Archimedes is potentially extremely useful,
  117. since, although ISO-Pascal is very good, it does not interface well with
  118. the operating system. More seriously, programs compiled with ISO-Pascal
  119. do not interface well either.
  120. 6.1
  121. The Norcroft system is easy to use and install and does everything that
  122. is claimed of it. Unfortunately, users should be aware of some problems,
  123. especially since Acorn obviously does not wish to maintain the product.
  124. 6.1
  125. I have some extra severe tests for Pascal, which I have used to test the
  126. compiler. This shows that the compiler has some errors in the evaluation
  127. of set expressions: the following program failed (printing True rather
  128. than False):
  129. 6.1
  130. {4 5 6 4 0 3    3000 }
  131. 6.1
  132. {the parameters from the full test which failed. }
  133. 6.1
  134. program test (output);
  135. 6.1
  136. const
  137. 6.1
  138.    ten = 10;
  139. 6.1
  140. var
  141. 6.1
  142.    i: 1..ten;
  143. 6.1
  144. begin
  145. 6.1
  146. i := 11; (compilation error here?)
  147. 6.1
  148. i := ten + 1; (compilation error here?)
  149. 6.1
  150. writeln(ÉError not detectedÉ) ;
  151. 6.1
  152. end.
  153. 6.1
  154. The first error is caught at compile-time by almost all Pascal com
  155. pilers, including ISO-Pascal. The second error is caught by almost all
  156. compilers at run-time, and a few at compile-time.
  157. 6.1
  158. When using the quit option in the Pascal menu, the system still allows
  159. command line usage of Norcroft Pascal, although the icon is removed.
  160. 6.1
  161. The final significant problem is that programs written in ISO-Pascal do
  162. not necessarily compile without the ISO option being set. This is
  163. annoying, since many programs will wish to use some extensions. I donæt
  164. know of any other Pascal compiler for which the extension option means
  165. less (in some cases). áBrian Wichmann, NPL.
  166. 6.1
  167. Å   Directory size Ö Regarding the issue on directory sizes, etc in the
  168. hints & tips section, there are a few other points...
  169. 6.1
  170. RISC-OS 2 has some problems with certain combinations of disk size and
  171. allocation unit, so beware. The problem usually causes the machine to
  172. hang when entering a directory. I have only experienced this using large
  173. allocation units on small disks.
  174. 6.1
  175. The fact that a new dir appears to take 38Kb isnæt the whole story, as I
  176. believe that there is a facility for small files within a directory to
  177. use some of the Éwastedæ space. However, if you tend to have lots of
  178. directories with few files, space does tend to get wasted.
  179. 6.1
  180. The best solution as far as both disk, space and speed is concerned is
  181. to use D format, which uses the Écorrectæ amount of space for direc
  182. tories and hardly anything for the map. (Remember that there are two
  183. copies of the map in E format.) D format disks are also MUCH easier to
  184. recover files from if the root directory or map gets corrupted and files
  185. can never be fragmented (which slows down access). The only disadvantage
  186. is the occasional need to compact but I find this a small price to pay.
  187. I would only recommend E format for non-technical users.
  188. 6.1
  189. The same issues will apply to all FireCore based filling systems such as
  190. IDE, etc. áMike Harrison
  191. 6.1
  192. Å   Impression/Squirrel Ö CCæs !Importer (also in their Business Supple
  193. ment) is supplied by Digital Services with Squirrel. Here is some
  194. experience that might help other people.
  195. 6.1
  196. Using Squirrel, I created a database with 22 fields. I then tried to
  197. mail merge the resultant report CSV file using !Importer. I got an error
  198. message saying ÉSubscript out of range (Code 6150).æ After some hours of
  199. fiddling, I eventually found that if I reduced the number of fields in
  200. the CSV file to 16, !Importer worked OK. Nick Horn, Thetford.
  201. 6.1
  202. Å   Second internal hard drive in an A410/1 Ö I fitted a 40Mb ST506 hard
  203. drive to my A410, thinking it would be more than adequate. However, with
  204. the acquisition of the PC Emulator and the formation of a 10Mb DOS
  205. partition, I was rapidly running out of room. I subsequently purchased a
  206. second hand 20Mb ST506 drive, which I decided to fit internally rather
  207. than buy a p.s.u., case and fan. I thought of making some mounting
  208. brackets but, having seen an advert for a SPACE kit from PRES which
  209. included brackets and all the leads, I changed my mind and went for
  210. that. Price was ú38.72 inc VAT. The work involved was to:
  211. 6.1
  212. 1)   Remove top two podule blanking plates.
  213. 6.1
  214. 2)   Fit metal brackets to drive using screws supplied.
  215. 6.1
  216. 3)   Remove the 34 way data cable and replace it with the one supplied,
  217. connecting it to the existing drive and mother board (SK11), leaving
  218. spare connector to connect to the second drive later.
  219. 6.1
  220. 4)   Connect the supplied 20 way control cable to the spare connector
  221. (SK8) on the mother board, leaving the other end to be connected to the
  222. second drive later.
  223. 6.1
  224. 5)   Remove the power cable from the psu and existing drive and replace
  225. it with the supplied cable, leaving the spare connector for the second
  226. drive.
  227. 6.1
  228. 6)   Lead all three cables to the back of the computer and through the
  229. space left by removing the blanking plates and connect them to the
  230. second drive.
  231. 6.1
  232. 7)   Attach the blanking plates to the metal brackets on the second
  233. drive using nuts & bolts supplied.
  234. 6.1
  235. 8)   Ensure second drive is set to É1æ by changing the appropriate DIP
  236. switch or DS-Jumper.
  237. 6.1
  238. 9)   Insert the drive through the back of computer until the front of
  239. the brackets rests on backplane connectors (psu side) and the blanking
  240. plates line up with the back of the computer. Screw in blanking plate
  241. screws.
  242. 6.1
  243. 10)   Once computer is up and running it will have to be configured for
  244. a second hard drive.
  245. 6.1
  246. The work was very easy to carry out and the instructions supplied were
  247. very good. The drive then has to be formatted using Acornæs HFORM
  248. program. The program had to be modified to do the Éslowæ formatting by
  249. altering the following lines:
  250. 6.1
  251. 7530 REMmed out
  252. 6.1
  253. 7540 REMmed out
  254. 6.1
  255. 7550 REM removed
  256. 6.1
  257. 7560 REM remove
  258. 6.1
  259. Once this was done, the drive formatted with no problems and, using the
  260. PC Emulatoræs configure program, I created a 19 Mb DOS partition.
  261. 6.1
  262. I would recommend this solution of gaining extra drive capacity if you
  263. have access to a cheap drive and do not mind losing the space of two
  264. half width podules. áChris Bass, Grimsby
  265. 6.1
  266. Å   Mah Jong from CIS Ö If you have recently purchased the Mah Jong game
  267. from Cambridge International Software, you may wish to check for the
  268. presence of a Ébenignæ virus. This can be done by double-clicking on the
  269. !MahJong game while holding the <shift> key down. Choose the ÉDisplay >
  270. Full Infoæ option on the filer window. If the MemAlloc module is larger
  271. that 2608 bytes then your copy is infected and you should contact CIS
  272. directly at Unit 2a, Essex Road, London  N1á3QP or telephone
  273. 071Ö226Ö3340.
  274. 6.1
  275. Å   Measuring free space Ö I would like to say a big thank you to all the
  276. people who wrote in response to my plea for help in finding a way of
  277. checking, from within a program, whether there is enough space for a
  278. file before it is saved.
  279. 6.1
  280. The most ingenious suggestion was to use the following commands:
  281. 6.1
  282. *FREE {ram:ccc }
  283. 6.1
  284. X=OPENUP(öRAM:CCCò)
  285. 6.1
  286. REPEAT B=BGET#X: UNTIL B=ASCö=ò
  287. 6.1
  288. REPEAT B=BGET#X
  289. 6.1
  290.  IF B>47 AND B<58 B$=B$+CHR$B
  291. 6.1
  292. UNTIL B=ASCöBò
  293. 6.1
  294. *SHUT
  295. 6.1
  296. to put the free space in the variable B$.
  297. 6.1
  298. Some people pointed me to ÉADFS_FreeSpaceæ (also RamFS_FreeSpace,
  299. SCSIFS_FreeSpace, etc.) which can be used with syntax such as:
  300. 6.1
  301. SYS öADFS_FreeSpaceò,Drive$ TO Free%,Largest%.
  302. 6.1
  303. The same information was given on page 7 of the Archive 5.12.
  304. 6.1
  305. Although all these answers have been very helpful, they have also taught
  306. me a salutary lesson, namely that you have to be very precise when
  307. describing your problem: because, although they have answered the
  308. question (and told me things that I did not know) they havenæt actually
  309. told me what I needed to know!
  310. 6.1
  311. What I actually want is a filing system independent way of finding out
  312. whether a file with any given path name can be saved. For instance, if
  313. the user of my program indicates (by dragging an icon to a filer window
  314. or typing into a save box) that he wants to save a file with the path
  315. name ÉXXXFS::$....Filenameæ and if my program knows how long the file
  316. will be, I want my program to be able to find out whether the file will
  317. fit in the specified place, without knowing in advance whether ÉXXXFSæ
  318. stands for ADFS or CFS or SCSIFS or RamFS or whatever. The program also
  319. has to work if a path is not specified and the file is simply to be
  320. saved to the CSD.
  321. 6.1
  322. A couple of correspondents have pointed out that there is an SWI called
  323. ÉFileCore_FreeSpaceæ (on page 1021 of the PRM). However, in order to use
  324. this you have to know the Éprivate wordæ of the filing system in
  325. question and, so far as I can see, this SWI can only therefore be called
  326. by a filing system module, which is not much use to a mere mortal
  327. programmer!
  328. 6.1
  329. I still, therefore, believe that the only generalised way of doing what
  330. I want is to use syntax like the following :
  331. 6.1
  332. X%=OPENOUT(Filename$)
  333. 6.1
  334. SYS öXOS_Argsò,6,X%,Length% TO ,,Allocated%
  335. 6.1
  336. IF Allocated% >= Length% THEN ... go ahead and save it.
  337. 6.1
  338. This is hardly elegant but it seems to work.
  339. 6.1
  340. I understand that RISC-OS 3 will include the generalised SWI that I
  341. want. However, this will not be much use, of course, in a program that
  342. is designed to work in RISC-OS 2 as well!á Hugh Eagle, Horsham
  343. 6.1
  344. Å   Formatting numbers (continued) Ö Over the last two months, I have been
  345. following the correspondence on Basicæs number formatting ability (PRINT
  346. and STR$) with some interest. Has the increased size and complexity of
  347. RISC-OS caused the oversight of some of the slightly esoteric but very
  348. powerful features of BBC Basic? One such feature is the @% variable in
  349. Basic. The @% variable controls the format of the PRINT and STR$
  350. functions and much of last monthæs discussions could have been settled
  351. by altering the @% variable so that STR$ was formatted in the same way
  352. as PRINT.
  353. 6.1
  354. @% is fully discussed in the manuals that accompany the computer under
  355. the PRINT command but I will try to give some useful pointers here. As
  356. with all Basic integers, the @% variable is four bytes long. When Byte 4
  357. (the left-most byte) is zero Basic ignores @% when using the STR$
  358. function (this is the default and the source of last monthæs problems)
  359. otherwise STR$ is formatted exactly the same as PRINT. Byte 3 allows the
  360. choice of three different formatting types: 0 Ö general (the default), 1
  361. Ö exponent and 2 Ö fixed. Byte 2 specifies the number of digits printed
  362. and Byte 1 gives the print field width when you use comma separators in
  363. PRINT.
  364. 6.1
  365. Our problem arises from two areas: the way computers represent numbers
  366. and the value of @%. At this point, I think it is necessary to take an
  367. aside into the nature of real number representation in computers so, if
  368. you are only interested in how to circumvent Basicæs printing problems,
  369. skip to the end of this article.
  370. 6.1
  371. Common advice to novice programmers is not to use real variables unless
  372. you really have to. Speed and storage reasons are normally given for
  373. simplicity but a far more important reason is that real numbers are not
  374. exact in the same way as integers and they must be treated differently.
  375. A classic example is the problem in mathematics of dealing with two
  376. representations of, say, the number one: which could be 1.000... or
  377. 0.999.... As far as we are concerned both are the same but if we ask a
  378. computer whether or not they are equal, we find not. This is due to no
  379. fault of the computer or the programmer but the acceptance that
  380. computers cannot store the infinite expressions for real numbers but
  381. must approximate to a number of decimal places and so springs up the
  382. subject of numerical analysis.
  383. 6.1
  384. How then do we equate real numbers? Well, we must choose a value for a
  385. zero! That is a number where any number smaller than it we consider to
  386. be Éas good as zeroæ. An example for Basic is 10Ö7, any smaller and the
  387. errors in calculations become significant. So when we want to check
  388. equality of two numbers a and b we use the expression (ABS(a¡b)á<á1E-7).
  389. If this is true then the two numbers are Éas good as equalæ. (ABS is
  390. used since we are only interested in the magnitude of the difference
  391. between the numbers.)
  392. 6.1
  393. The second important point with numbers stored in computers is that they
  394. are stored in binary. Yes, of course, you all knew that but fewer people
  395. are aware how computers store fractions. Much like in decimal when we
  396. have a decimal point, computers use a binary point where the digits to
  397. the right of the point have place values 1/2, 1/4, 1/8, etc. In decimal
  398. there is a problem of representing fractions like 1/3 or 1/6 because the
  399. prime factors of 3 or 6 are not divisible by the factors of 10 (2, 5) so
  400. you get infinite decimal expansions for them. In binary, the problem is
  401. greater because there is only one factor of two (unlike two factors of
  402. ten) so even more numbers have infinite representations (this is why
  403. some people advocate using base 12 instead of base 10 for day to day
  404. life Ö it makes mental arithmetic so much easier). This means that
  405. simple decimal numbers like 0.6 have an infinite expansion in binary.
  406. 6.1
  407. What has all this got to do with printing numbers in Basic? Well, an
  408. appreciation of what is going on when you store numbers will help you
  409. avoid the pitfalls that last monthæs contributors highlighted. Now that
  410. we are aware that innocuous looking numbers like 2.1 can have infinite
  411. expansions when stored in binary, it becomes clear that 2.1 ╫ 10 may not
  412. equal 21 but, perhaps, 20.99999999!
  413. 6.1
  414. Is there anything that we can do about this? Yes, indeed there is. We
  415. can tell Basic to round off the number to nine decimal places instead of
  416. attempting to print 10 which extends the precision beyond the accuracy
  417. (in general Basic is accurate to nine decimal places unless you are
  418. using the floating point version where I believe 19 is the limit but not
  419. having a RISC-OS 3...).
  420. 6.1
  421. Now we come back to @%. At default, @% specifies 9 decimal places but it
  422. only affects PRINT and not STR$ which defaults to ten. To alter this,
  423. all we need to do is set the byteá4 flag in @% to one. Try PRINT
  424. STR$(0.6) and then set @% = &0100090A and try again (by the way, &90A is
  425. the default value for @% whereas STR$ uses &A0A if byteá4 is unset).
  426. 6.1
  427. If we want to print money then we can set @% to two decimal places by
  428. &0002020A (remember to set byte 4 to one if you want to use STR$). This
  429. has the added bonus of allowing you to print the number rounded off but
  430. still maintain the extra places for further calculations.
  431. 6.1
  432. I hope you can now see the power and simplicity of using @%. My only
  433. warning is that if you wish to use several formats in your program, then
  434. either save the previous @% or declare it as a local variable.á Emmet
  435. Spier, Guildford.
  436. 6.1
  437. This subject seems to have opened up quite a debate. Emmet has agreed to
  438. edit any comments regarding rounding errors for us and so if your wish
  439. to add to the debate you should write to him directly. Emmet Spier, 6
  440. Parklands Place, Guildford, Surreyá GU1 2PS.
  441. 6.1
  442. Å   PC keyboards for A4 Ö A word of warning Ö not all PC type keyboards
  443. work on the A4 (or all PCs for that matter!), so take the A4 to the shop
  444. and try before you buy! Reasonable ones can be had for about ú40 at some
  445. computer fairs. Note that non PS/2 type keyboards (with the 5 pin DIN
  446. plug) can be used with an adaptor or by changing the plug. áMike
  447. Harrison
  448. 6.1
  449. Å   RISC-OS 3 DOS partitions Ö Because DOS filenames (including exten
  450. sions) are in general longer than the maximum length of a valid ADFS
  451. filename (10), it is not always possible to copy or move DOS files from
  452. hard or floppy discs directly to the ADFS.
  453. 6.1
  454. The !MultiFS utility as supplied with the PC Emulator solves this by
  455. allowing you to truncate the DOS filename while the translation process
  456. takes place. Another very useful option (which I often use when copying
  457. files from C programs) is to force !MultiFS to handle DOS extensions as
  458. (hierarchical) directories.
  459. 6.1
  460. However, when the filetype of a DOS partition on your ADFS hard disc is
  461. set to ÉDOSdiscæ, RISC-OS 3 will display a filer window for the
  462. partition when you try to open the folder, while !MultiFS just ignores
  463. it (i.e. no :C drive on the iconbar.) This is all very nice but RISC-OS
  464. 3 doesnæt offer the nice name translation options mentioned above. To
  465. enable !MultiFS to display your DOS partitions, just set their filetype
  466. to Édataæ before you start !MultiFS. Remember to use the command line
  467. and not the filer menu because the latter doesnæt allow you to change
  468. the the filetype of DOSdiscs. I inserted 3 lines for each DOS partition
  469. in the !MultiFS !Run file to swap between ÉDOSdiscæ and Édataæ type
  470. partitions when !MultiFS is started:
  471. 6.1
  472.    *Filer_CloseDir    <PCe$Drive_X>
  473. 6.1
  474. *SetType    <PCe$Drive_X> Data
  475. 6.1
  476. directly after setting the system variable <PCe$Drive_X>, and
  477. 6.1
  478.    *SetType    <PCe$Drive_X> DOSDisc
  479. 6.1
  480. at the end of the !Run file (although the comment tells us not to do
  481. so).
  482. 6.1
  483. Unfortunately, there are some bugs in !MultiFS: When you copy to a
  484. MultiFS filer window, you must ensure name translation is not set to
  485. hierarchical or you will end up with wildcards (É?æ) in filenames. When
  486. this happens you must use DOS itself to delete the file because RISC-OS
  487. fails to wipe those objects. Another bug appears if you shut down your
  488. system after using !MultiFS. This results in an error report and a task
  489. manager crash.á Paul Groot, Holland.
  490. 6.1
  491. Å   Saloon Cars Deluxe Ö If you are having problems running Saloon Cars
  492. Deluxe, it may be worth knowing that you must have the Font Manager
  493. installed for it to run.
  494. 6.1
  495. Å   Shareware 44 (Fortran Friends) update Ö There is a small bug in the
  496. !Fortran77. DesktopF77 program. Line 1400 should read:
  497. 6.1
  498. 1400 IF INSTR(b$,örrorò) THEN E%+=1
  499. 6.1
  500. This allows errors in the code generator part of the compiler to be
  501. detected. Kate Crennell, Oxon.
  502. 6.1
  503. Å   Zelanites cheat Ö The following program provides a cheat for
  504. Zelanites. It stops the number of lives decreasing below 9. áSteve
  505. Edwards, Stourbridge.
  506. 6.1
  507.  10áREM >:0.$.hints.zelcheat
  508. 6.1
  509.  20áREM Archive hints & tips section
  510. 6.1
  511.  30áREM (c) S.EDWARDS 1992
  512. 6.1
  513.  40áREM infinite lives for Zelanites
  514. 6.1
  515.  50áREM ****************************
  516. 6.1
  517.  60áREM * When you have run the program the game should *
  518. 6.1
  519.  70áREM * then be run as normal. This time when you dieáá*
  520. 6.1
  521.  80áREM * you will have not gone down one life but upáá *
  522. 6.1
  523.  90áREM * to NINE lives, which stay with you for ever.áá*
  524. 6.1
  525. 100áREM *ááááááááááááááááááááááááá *
  526. 6.1
  527. 110áREM ****************************
  528. 6.1
  529. 120á:
  530. 6.1
  531. 130áDIM store% &400
  532. 6.1
  533. 140áMODE 0
  534. 6.1
  535. 150áPROCDisc_op
  536. 6.1
  537. 160áPRINTÉ********FINISHED********æ
  538. 6.1
  539. 170áPRINT
  540. 6.1
  541. 180áPRINTÉ****NOW GET BLASTING****æ
  542. 6.1
  543. 190áEND
  544. 6.1
  545. 200á:
  546. 6.1
  547. 210áDEF PROCDisc_op
  548. 6.1
  549. 220áPRINT ÉPut !ZELANITE disc into drive 0æ
  550. 6.1
  551. 230áPRINT Éáááand press a key.æ
  552. 6.1
  553. 240áA=GET
  554. 6.1
  555. 250áPRINT ÉLoadingáásector informationæ
  556. 6.1
  557. 260áSYS ÉADFS_DiscOpæ,0,1,&50400, store%,&400
  558. 6.1
  559. 270ástore%?&67=&6A:REM Original code =&2A
  560. 6.1
  561. 280áINPUTÉAre you are ready to make the change ?æ;A$
  562. 6.1
  563. 290áIF LEFT$(A$,1)=ÉNæ OR LEFT$(A$,1)=Énæ THEN END
  564. 6.1
  565. 300áIF LEFT$(A$,1)=ÉYæ OR LEFT$(A$,1)=Éyæ THEN
  566. 6.1
  567. 310áááPRINTÉSaving cheat back to diskæ
  568. 6.1
  569. 320áááSYS ÉADFS_DiscOpæ,0,2,&50400, store%,&400
  570. 6.1
  571. 330áENDIF
  572. 6.1
  573. 340áENDPROCááA
  574.