gordon@cadomin.UUCP (Gordon Atwood) (06/16/86)
Old Stuff: In my last article I mentioned a problem I was (and am) having convincing a RENUMBER program to execute under Prodos. Its an old program, which allows you to merge files or renumber them. One response (the only one) suggested it wasn't setting up the Himem pointer correctly. My apologizes, I thought I had made it clear in my article that the program was loading, and settin himem correctly. However, when told to renumber a Basic program (via the & command) it hangs. To Clarify: 1) The program is loaded, and Himem is adjusted correctly. The & command is set correctly. Possible Problems: 1) Prodos may insist on the Renumber program occupying a buffer that has been allocated via the Prodos ALLOC_BUF routine. 2) Prodos no longer uses the Lomem pointer in the same way. The whole procedure for finding the beginning of the Basic program seems to have changed. Number 2) seems the most likely culprit, but 1) will eventually screw something up. If I ever get around to fixing this problem (or if someone sends me a usable solution) I will post it. ----- New Stuff: Another warning: The Prodos convert routine has an interesting bug (feature). It seems that if you have a DOS 3.3 Basic Program which contains REM statements which in turn contain '$' (dollar signs), and you try to convert this program to a Prodos file, it becomes beautifully garbled. I have only studied this in one direction (DOS-->Prodos). My particular sample had a reminder as to what Hex address I was getting at in the program. The solution was to replace '$' with 'HEX'. Note, '$' used in actual statements, like BLOAD TEMP, A$1000, L$1000 ar converted correctly. My latest problem: Careful examination of various documenation (and many experiments) has revealed that Prodos is quite series in calling TEXT files ASCII TEXT files. Such files will only store 7-bit data. The MSB is ignored. This, of course, means that actually byte values that you might wish to save in a text file must either be 7-bit, or spread over 2 characters. (Needless to say, I find it abhorrent that Apple has once again chosed to ignore versatility in code). Now, my specific application would be most easily implemented if I could have random access files storing 8-bit bytes. The information could then be stored in strings and read in and written out using the READ and WRITE commands. However, even if I use a User-defined file type, the READ and WRITE routines still chop of the MSB. One of the things I intend to investigate is the NEWLIN routine. However, nowhere in the documentation, is there any indication that this routine is actually used when you read and write information from a Basic program to a file. If you have encountered this problem, and have managed to get around it, I would be most interested in hearing your solutions. ---- A final question: Has anyone out there purchased (or otherwise obtained) the Beneath Apple Prodos Supplement Package? (This is apparently only available to people who have purchased the Beneath Apple Prodos Manual). Is it any good, how detailed is its information. What else can you tell me. [Please read that paragraph twice before answering. I am interested in the Supplement, not the initial manual]. Hope you found this of some interest and use. G.H.A.