Subj: ProDOS-8 87-12-13 19:18:02 EST From: SYSOP jim Msgs: 40 (89-07-30) ProDOS-8 (known as just ProDOS until the release of ProDOS-16) will run on any Apple II with 64K of memory. If you have questions, answers or tips on how to use ProDOS-8, leave them here. Subj: Re: ProDOS-8 with AppleSoft 88-04-22 22:25:31 EST From: SteveG34 I have a pgm which is entirely in Applesoft under ProDOS. I am trying to trap the Control-Reset key combination. There was a short page3 routine written for use under DOS3.3 and publiched in Call-APPLE's All About Applesoft. Works fine under 3.3, but under ProDOS, it returns to the correct BASIC line number, but ProDOS is apparently disconnected because Trace mode has been activated and no ProDOS commands work. The ml is as follows: $300: JSR $3EA (left out in ProDOS version) JSR $DAFB LDA #$00 - line number of BASIC program - lo byte STA $51 LDA #$01 - hi byte STA $50 JSR $D941 JMP $D7D2 (I got the hi & lo messed up above.) At any rate, when the correct bytes are poked into the 01 & 00 above from within the BASIC program, it comes back executing the correct line number; but with trace active and prodos apparently disconnected (maybe even BASIC.SYSTEM?) Any Thoughts? Subj: Re: ProDOS-8 88-04-23 16:02:25 EST From: AFL Jim ProDOS and BASIC.SYSTEM have no documented reconnect hook like DOS 3.3 has. There is a Warmstart jump vector in the BASIC.SYSTEM global page, but that won't do you any good for what you are trying to do. Control-Reset has always been a somewhat dangerous thing to ask a user to use anyway. Depending on when reset is used, you could do soft-damage to your diskette or leave the disk volume information corrupted. Have you thought of trying another way to catch a keystroke such as installing a routine to redirect the keyboard input to a routine that looks for say the ESC key? Subj: Re: ProDOS-8 88-04-24 11:34:48 EST From: SteveG34 (Thanks for responding so QUICKLY!) Yes, other keystrokes are accounted for. Just to make things more clear; this program ISN'T meant to be the be-all or end-all to programs and it isn't in any means meant to be secretive (ala trying to keep someone ffom PURPOSEFULLY exiting. We're trying to trap the reset key simply because that has become THE method to exit a program if you've made a mistake/want to start over/etc. We were hoping to be able to 'force' a return to a menu (from which there is a legitimate keystroke to exit). Seems strange that it could be done under 3.3 but not ProDOS, doesn't it? We thought such a thing was a realistic endeavor (unlike trying to trap an OA-^-RESET). :) Subj: Re: ProDOS-8 88-05-02 14:22:30 EST From: AFL Jim Steve, After some searching and a phone call or two, I've found a solution for you. It comes from my favorite newsletter, Open-Apple. In Volume 1, Number 1 of Open-Apple on page 16, Tom Weishaar gives a full page explanation of how to patch BASIC.SYSTEM to make it jump to line X in your program when control-reset is pushed. Rather than type in the whole page of small print, I suggest that you order a copy of that issue from him (back-issues are $2 each) or order that year's (1985) bound volume for $14.95. Open-Apple's address is: Open-Apple, P.O. Box 11250, Overland Park, Kansas 66207 Jim Subj: Re: ProDOS-8 88-05-04 18:56:24 EST From: SteveG34 Thanks for all the leg-work! Will check it out. Subj: Re: ProDOS-8 88-05-13 18:40:47 EST From: User797 I'm working on a GS CDA that does different things in ProDOS 8 than it does in 16. The P16 section works fine, but I need a couple of quick tips for P8. 1) What is the format of the version numbers? I know they're eight bits long, and located at the top of the Global Page. 2) As a side note, which GS memory bank should I check for the Global Page: $00 or $E0? Thanks. -Jon Thomason, /;+/ Subj: OS-8 88-05-14 16:41:59 EST From: AFL Jim Jon, The ProDOS-8 kernel (MLI) version number can be found at location $BFFF. The version number is stored as a byte. If you look at version 1.0 of ProDOS, you'll see a 0 there - version 1.1.1 has a 1 there - the current version, 1.4 has a 4 there. On the IIGS, all //e emulation addresses are in bank $00 or $01. Memory shadowing to banks $E0 and $E1 is done for the display pages (selectable with a softswitch) and the card I/O pages. Jim Subj: Re: ProDOS-8 88-05-14 21:01:03 EST From: User797 Thanks, Jim. I have the version number working, now. Do you have any idea where the MLI keeps the pointer to its prefix? Beneath Apple ProDOS didn't seem to list it in the global page, and a series of full-memory searches couldn't find it. /;+/ Subj: oDOS-8 88-05-14 21:34:47 EST From: SteveL39 ProDOS8 doesn't keep the prefix anywhere specfic. To get the current prefix you have to call GET_PREFIX,MLI call $C7. The procedure would be: JSR $BF00 ;MLI entry point DFB #$C7 ;code for GET_PREFIX DA addr ;address of the parameter table BCS error ;error handler routine-err code in accumulator The parameter table is a $01 followed by the address of a 65 byte buffer. When the call is done, the prefix will be at that address preceded by a length byte. I got this stuff from Apple ProDOS:Advanced Features for Programmers by Gary B. Little. It has all kinds of other Prodos stuff in it too,like writing your own device drivers and external commands for BASIC.SYSTEM. Subj: Re: ProDOS-8 88-05-15 14:00:58 EST From: AFL Jim Jon, Steve is correct. Although ProDOS does have to keep that information somewhere, it isn't documented and so would be unsafe to use. There is a Global page flag at $BF9A that you can check to see if there is an active Prefix. A zero there means there is no active Prefix. Subj: Re: ProDOS-8 88-05-15 21:58:08 EST From: User797 Jim and Steve, thanks. That much I had gathered from Beneath Apple ProDOS. My dilemma is that I'm checking from a CDA, and I know of no reliable way to call ProDOS 8 from a long address on the IIGS. Thanks to Joey Schober (JSchober), however, I've found where it keeps the prefix, and I may just try to check that directly. Hey -- if it doesn't work, no big loss. I just don't want to jump to ProDOS 8 and crash... /;+/ Subj: Re: ProDOS-8 88-05-16 20:14:19 EST From: SteveL39 So where is it kept? I hate having all those MLI calls in my programs. It looks like I didn't do anything special at all, just typed in lots of JSR $BF00's. Subj: Re: ProDOS-8 88-05-16 23:13:31 EST From: User797 The MLI prefix is stored in Language Card bank 2, at $D700-D73F. I don't advocate using it when you don't have to, though. Oh -- it's also in a goofy format. A length byte for the root volume name, then the name, then a length byte for the next directory level name, then the next directory level name... all until you reach a length byte of 0. Example: $03 H D 1 $08 T E L E C O M M $00 for: /HD1/TELECOMM/ Again, this info is thanks to Joey Schober. /;+/ Subj: Re: ProDOS-8 88-05-17 00:54:33 EST From: Mensch72 WHOA, ProDOS 8 calls are non-re-entrant, AND they do not support the busy flag like prodos 16 does. This means that if Apple at some inconvinient place, forgot to disable interupts in ProDOS 8 ( which they did) you could be in for disaster making prodos calls from a CDA. You should stick to prodos 16 in CDA's they operate on the same disks and all. The busy flag exists just for this reason, to keep routines that run at interupt time honest! I suggest always using it. Jim Subj: oDOS-8 88-05-23 23:17:01 EST From: AlbertW7 I saw version 1.5 of ProDOS 8 at AppleFest. Does anyone know what changes there have been since 1.4? Someone mentioned that there had been modifications to support AppleTalk better, but that's just a rumor. Comments? Subj: Re: ProDOS-8 88-05-24 14:49:55 EST From: AFL Jim Someone correct me if I'm wrong, but I think the main change was support of the AppleShare file server thru LocalTalk. Subj: Re: ProDOS-8 88-06-05 22:07:46 EST From: AlbertW7 Yes, developers that I've talked to have comfirmed that there are some new MLI calls that support AppleTalk. I think that's pretty good news. Subj: Re: ProDOS-8, version 1.5 88-06-29 00:02:59 EST From: AlbertW7 Has ProDOS 8, version 1.5 been officially released by Apple? My user group has yet to receive the update, as we usually do. What's the deal? Subj: Re: ProDOS-8 88-06-29 22:55:42 EST From: Parik Rao No, not yet. It was finished January, so it'll be a couple of years...:) Subj: Re: ProDOS-8 88-06-30 11:54:54 EST From: AFL Jim I've been told that the newest system disk was shipped to APDA for distribution this week. It may take a week or two for them to duplicate it, but they should have it ready soon. Subj: ProDOS 8 v 1.5 88-07-01 00:09:33 EST From: Mensch72 Well, My bet is that version 1.5 will never come out :) Subj: Re: ProDOS-8 1.5 88-07-01 10:46:47 EST From: Herr Fixit If the bug that trashes you disk if you have a i/o error is real, no we won't see prodos 8 v1.5. Subj: Re: ProDOS-8 88-07-01 19:38:12 EST From: JSchober Jim (Luther)... does that include a new version of the GS System Disk?? Subj: Re: ProDOS-8 88-07-02 00:19:02 EST From: AFL Jim From what I understand, it IS a new version of the Apple IIGS System Disk. Subj: Re: ProDOS-8 88-10-15 21:16:15 EST From: AFL Oli Jim, what is ProDOS error $51? It relates to saving AppleWorks files to disk... Thanks. Subj: Re: ProDOS-8 88-10-15 22:16:44 EST From: JSchober ProDOS error $51 = Bad directory count. For some reason or other, the number of files that the directory header says you have, doesn't equal the number of files actually in that directory. If you've got Mr. Fixit, that should be able to repair the problem quickly... (I >think< it will...) BASIC.SYSTEM might give you a RANGE ERROR while CATALOG'ing that directory, if the file count is bigger in the HEADER than it should be. Just be lucky it wasn't a $27... (Directory or Volume Damaged... :( ) --Joe Subj: ProDOS 8 Access from a CDA 88-12-18 17:50:46 EST From: AFA Gary J I have been writing a CDA that uses ProDOS to access some files, and I would like to make it so that it will work in ProDOS 8 as well as GS/OS. The problem is in allocating sufficient buffer space on bank zero for ProDOS 8 to use. I obviously don't want to kill any program that may have been running at the time it was interrupted. I have thought about saving a section of bank zero at the time the CDA is called upon, and then putting it back when when the user quits out of the CDA, but I wasn't entirely sure of the implications of doing this. So....I thought I would throw this problem out for discussion. Any ideas? Gary Subj: P8 access from a CDA 88-12-18 18:27:09 EST From: Dave Lyons "Borrowing" a chunk of bank 0 is your only choice, and you can't do it in a completely safe way, since there might be interrupt routines in the part you choose to borrow, and if you disable interrupts any ProDOS call that involves a file server across the network will hang. So you choose an area of bank 0 that you feel is least likely to have an interrupt routine in it (maybe around $9000??), save its contents, copy your routines into it, clear the bitmap bits for any pages you will be using for buffer space, call your routines as much as you need to, restore the bitmap, and restore the contents of the borrowed area. Your bank 0 routines (rather than the code that calls them) should SEC, XCE on the way in and CLC XCE on the way out, since you're not allowed to run in 6502 mode outside bank 0 with interrupts enabled. I'm not sure whether the stack is guaranteed to already be in the $01xx area when a CDA is called; if not, you'll have to check whether it is or not; if not, you'll have to preserve the stack pointer, preserve the $01xx page, and set the stack pointer to $01xx before doing the SEC XCE, and restore it on the way out. Somebody posted a decent description of this kind of stuff, along with sample code even, on CI$. I'll dig it up around Wednesday (after finals) if nobody beats me to it. OH! Almost forgot one _very_ important thing. Before making a P8 call, you must check that the MLIACTV flag is not set. If it's set, a ProDOS call was already in progress when the Apple-Ctrl-ESC interrupt occured, and making another one will cause the machine to fry itself thorougly later, when the original interrupted call tries to finish (ProDOS 8 is _not_ re-entrant). Some versions of P8 enjoy leaving the MLIACTV flag set when it shouldn't be set; I don't remember at what version they fixed it, but I think it was 1.5. --Dave L Subj: P8 Access from within a CDA 88-12-19 00:12:26 EST From: AFA Gary J Thanks, Dave. I figured that interrupt routines would be a problem. I am particularly interested in having this work with the AppleLink software, so that was something that was on my mind. I'd like to see that sample code. I'll look forward to seeing it (if you can dig it up). As for the stack memory address, it seems like I saw somewhere that the stack is set to $01xx and direct page to $00xx on entry to a CDA, and that zero page is free game (as it is preserved). Perhaps someone could verify that for us (and hopefully refresh my memory where I ever read such a thing). Thanks again. Gary Subj: stack pointer in CDA 88-12-21 04:56:01 EST From: Dave Lyons Gary, you read that the stack pointer _is_ $01xx when a CDA is called, or that it's _guaranteed_ to always be in the future? Big difference! --DaL Subj: ProDOS-8 ERROR codes (unknown) 89-01-17 21:34:03 EST From: sidley I have been working on getting Adaptek 4000 series SCSI controllers to work with the new REV C roms... unfortunately they dont work,. and its Apples partition protocol. any ways after several timouts and a 10 minute boot cycle I get a ProDOS MLI ERROR $2F Can anyone Tell me what a $2F error code is, I havent seen that one in any of my books.. (which I will admit are somewhat out of date) thanks IF anyone sees this question... its buried DEEP in the menu structure... s Subj: error $2f 89-01-17 23:43:09 EST From: Dave Lyons Sidley, don't worry, this message isn't all that deep. Jim and I (and probably many others) read _all_ the messages in this forum. Error $2f is one that sort of "migrated" into a ProDOS error--it was originally a SmartPort error, but it gets returned by 3.5 controllers and SCSI controllers to mean "media offline" or something like that...in English, it means "no disk" for a 3.5; not sure why you'd get that on a nonremovable SCSI drive. --Dave Lyons Subj: Error $2F and SCSI devices 89-01-19 07:52:11 EST From: AFL Jim I *still* don't have the Apple SCSI card I ordered last month, but Dennis Doms and I had a conversation about 3 months ago that covered something similar. If I remember correctly, Apple's SCSI card returns that error until the SCSI drive is ready. Subj: Error $2F 89-01-19 20:49:21 EST From: DennisDoms I think Jim's got it...it probably is effectively telling you "device not ready". We were discussing this problem in trying to figure out how to make the computer wait until the SCSI drive becomes "ready", then boot from the Apple SCSI card slot. (You leave a disk with the program in a drive, ready to boot when you power up.) Subj: Error $2F 89-01-19 22:31:41 EST From: AFA Gary J I can confirm what Jim and Dennis has said from the Apple II SCSI Card Technical Reference Manual (page 36): Code Error Explanation $2F OffLine Device off-line or no disk in drive. Check the cables and connections; make sure the medium is present in the drive, and that the drive is functioning correctly. Gary Subj: Re: ProDOS-8 89-01-29 23:48:36 EST From: Matt DTS I don't know if $2F "migrated" or not, but it was made one of the four errors all ProDOS block devices should support a few years ago. See the new ProDOS TN #21 for more details. --Matt Subj: Re: MLI ERROR $2F 89-01-30 02:53:28 EST From: sidley Thanks for the info... The REV C roms do something to the adaptek 4000's, and the drive responds with a check status and a BUSY flag... I'm guessing that the SCSI card times out cause I read from the docs that the adapteks DO NOT timeout... anyway, This explains what's happening... thanks... Now IF only SOMEONE could every TEACH Apple ROM programmers that, SOME people have to use the ROMS... I get this stuff from ALL Apple ROMs... thanks again... I just lost out on 250 megs of disk space, cause Apple doesnt support it.. .o Subj: Re: Previous versions of ProDOS8 89-05-10 22:43:24 EST From: WagnerE 05/10/89 Could somebody tell me how many versions of ProDOS 8 and BASIC.SYSTEM there are to date? I would appreciate receiving files for versions that I am missing. I plan to use this 'old' versions for testing and study. Listed below are the files I have found on my many and scattered ProDOS disks: PRODOS or P8 (ProDOS 8) Vers. Bytes Boot Date 1.0.1 15360 1-JAN-84 1.0.2 15360 15-FEB-84 1.1.1 14848 18-SEP-84 1.4 15485 17-APR-87 1.5 15485 15-JUL-88 1.7 15485 09-AUG-88 BASIC.SYSTEM Vers. Bytes 1.1 10240 Erick Wagner (WagnerE) Subj: 89-07-30 20:16:17 EST From: AFA Parik fooled you! Bet you thought there was going to be a message here! Just why *DID* you spend the past 2 minutes scrolling down 5 or 6 screens of message topics? Subj: Prodos 1.1.1 and Apple IIplus 88-10-25 14:15:36 EST From: KeRob Msgs: 14 (88-12-18) Hello- I'm writing a game program for some friends (a Christmas present) in BASIC. They have an Apple II plus. Can that machine load and run Prodos 1.1.1? That is the system I used to store the game on disk. KeRob Subj: Re: Prodos 1.1.1 and Apple IIplu 88-10-25 16:37:23 EST From: JSchober Simple answer, KeRob.... YES. The Apple ][+ should work with ALL versions of ProDOS 8; however, some versions -- 1.3 and 1.4, I believe -- contained a 65C02 instruction that most ][+'s won't run. (Nothing to stop you from putting a C02 into the ][+, y'know... :) I couldn't tell you for sure if 1.6 and 1.7 have the same problem ... hopefully not. Anyway, therefore, YES, ProDOS 8 1.1.1 will work just fine on a ][+. I'd suggest using at LEAST version 1.2, though, as 1.0.x and 1.1.x were awfully buggy. -- Subj: Re: Prodos 1.1.1 and Apple IIplu 88-10-25 19:01:30 EST From: AFL Jim Let me expand on that just a little... ProDOS 1.1.1 will work on the II+ ONLY if it has a full 64K - that means it must have the 16K RAM card (sometimes called the Language Card) in slot 0. Jim Subj: Re: Prodos 1.1.1 and Apple IIplu 88-10-25 20:57:27 EST From: Dave Lyons Yes, 1.1.1 is fine on a 64K II+. Joe, it was only 1.3 that had the bogus 65C02 instruction. 1.4 thru 1.7 are all fine; so is 1.2, although I don't think it has the change that makes it easier for disk repair programs to recover deleted files and repair disks (the change swaps the halves of index blocks for deleted files rather than zeroing out the blocks). --Dave Lyons Subj: Re: Prodos 1.1.1 and Apple IIplu 88-10-26 19:21:11 EST From: DennisDoms Version 1.3 and later have the "undelete" change though, as Dave confirmed, 1.3 has the bogus 65C02 instruction. I'd recommend version 1.4 or later, though, as there have been some minor bug fixes (Apple would probably prefer you stick with the latest version). 1.1.1 (and 1.2) has a bug in the Disk II driver that can cause it to "glitch" disks; I'll try to remember to upload a patch to fix it. There is a bug with the handling of MLIACTIVE in version 1.1.1 that can cause problems in an interrupting environment and a lesser "bug" in 1.4; 1.4 is only a 1-byte patch to "fix". Moral: try to stick with the current versions (1.5-1.7). Subj: Re: Prodos 1.1.1 and Apple IIplu 88-10-29 10:44:13 EST From: JSchober Is ProDOS 8 1.7 (the one that comes on GS System 4.0) bug-free, as far as anyone knows?? --Joe Subj: P8 1.7 okay; slot 3 handling 88-10-29 14:35:04 EST From: Dave Lyons Well, *I* don't know of any problems with ProDOS 8 1.7, and I haven't heard of any. Note that there's at least one change that might cause you a problem if you aren't paying close attention to your IIgs slot 3 setting. It's a bug *fix*, not a bug. In all the previous versions of P8, the internal slot 3 would get switched in when you booted P8, and it would go away again when you hit RESET if slot 3 = Your Card; but P8 would still have the global-page bit set saying you had an 80-col card. (Davex would really fry in this situation, as I expect a lot of other applications would, if they bother trapping RESET.) P8 1.7 leaves slot 3 the way it is set in the control panel; the only problem now is applications that assume an 80-col card is available without checking (I don't know of any in particular). --Dave Lyons Subj: Re: Prodos 1.1.1 and Apple IIplu 88-10-29 17:45:20 EST From: AFL Floyd There is a problem *if* you get an I/O error *while* deleting a file. If this happens your directory will be corrupted because ProDOS will have incompletely updated the info. You would then need to use the SORT/DELETE method of CAT DOCTOR, and then run Mr. Fixit to free the now unused blocks. This is very rare, but if it does happen to you, make sure you delete it with the method above or you could mess up your entire disk. This problem is not new to v1.7. Floyd Subj: Re: Prodos 1.1.1 and Apple IIplu 88-10-29 20:54:43 EST From: Matt DTS You have no idea what kind of acrobatics were gone through on slot 3 and ProDOS 8. What P8 1.7 (and from now on) do(es) is the same on the IIgs as on the IIe. ProDOS 8 will only recognize a card in slot 3 if it matches the five ID bytes of the 80-column card. If the card in slot 3 does matches those, it is always selected. If it doesn't match, the internal firmware is always selected. (This is exactly how it functions on the IIe, except you don't have a control panel setting on the IIe for P8 to ignore.) Basically, every program under the sun will die on both the IIe and the IIgs if P8 maps in a non-80 column card in slot 3. Everyone expects the 80-column firmware available on any machine they identify with 128K. Note that GS/OS doesn't have this problem and will even let you boot from slot 3 if you like. Just don't try to go into ProDOS 8. (This is all explained in VERY-soon-to-be-released new ProDOS TN #15 (rewrite) and GS/OS TN #2.) --Matt Subj: P81.7 and slot 3 88-10-30 18:19:17 EST From: Dave Lyons Gee Matt, I *thought* I had a pretty good idea what ProDOS 8 is doing with slot 3...I've read the old technote about it, etc. I tried setting slot 3 = Your card with NO card in slot 3, and I booted P8 1.7. Turns out the problem I reported originally, which I *thought* you said was fixed in 1.7, is still there. The problem is that ProDOS 8 switches in the 80-col card firmware in slot 3 withOUT changing the control panel setting. Result: Hitting RESET swaps the 80-col firmware OUT, but ProDOS still indicates an 80-col card is available in the MACHID byte. Seems that P8 ought to change the control panel setting if it's going to swap in the 80-col card at all. Right now programs that trap RESET and use the 80-col firmware will die quickly if slot 3 = Your card and RESET is hit. Given that this still happens, what *did* change in P8 1.7? --Dave Lyons Subj: Re: Prodos 1.1.1 and Apple IIplu 88-10-31 21:09:59 EST From: Matt DTS What *did* change is that the IIgs no longer attempts to respect the Control Panel setting. It will swap in/out regardless of the Control Panel setting. Now handling switching in the 80-column firmware on RESET is something that a RESET handler (8-bit) could do itself. It can set a flag on launch to make sure it was the internal firmware that was mapped in, and switch it back in if a RESET comes across. Changing the Battery RAM means that if anyone turns off their computer while ProDOS 8 is running, then their control panel settings would be permanently changed. The Human Interface Group isn't too likely to go for that. --Matt Subj: Re: Prodos 1.1.1 & Apple II+ 88-12-03 11:28:13 EST From: St John2 Getting back to the subject matter... .) I've been running a BBS on an Apple ][+ for a long time now, and after some bad craziness with version 1.2 have upgraded to 1.6. So, yes that works admirably on the classic machines. The track-zero problem caused some major hassles (if you have an old ProDOS, get rid of it on ALL your disks; version 1.5 is, I think, the first "clean" version), but trying 1.2 wih its 65c02 code tricked me into thinking that the ][+ couldn't handle ProDOS later than 1.1.1. As long as you pay attention to the caveats, you should be OK running even the latest P8 on your friend's machin Subj: ProDOS 1.3 had 65C02 code 88-12-03 13:47:49 EST From: Dave Lyons Again, ProDOS 8 1.3 had the extra 65C02 code in it; no other version did. I have the document from Apple saying so right in front of me. What sort of trouble did 1.2 cause you? --Dave Subj: The Trouble With Angels 88-12-18 15:39:33 EST From: St John2 (Or, rather, Prodos 1.2.) Dave, what the problem was concerned the track-0 crash, and wiped disks on not only my ][+ but my //c. (I had realized this, and was working on copying files... and suddenly I realized I had booted from my Copy II+ original disk, which still had v1.2 on it! Blammo!) It seems while preventing awful things from happening to any 3.5" drives, they forgot to close a soft switch for 5.25s. Or something of the sort Subj: BUG? IN P8 V1.7 88-11-29 19:53:31 EST From: RTAFT Msgs: 11 (88-12-05) Has anybody noticed any trouble in accessing a disk drive with this version? I have while using MOUSEWRITE. MOUSEWRITE saves files as Mousewrite files or as text files. While attempting to add to a previously created text file, I was told that I could not write to the disk. This happened while using ProDOS 8 v1.7. After trouble shooting my CPU, and finding everything OK, I put ProDOS 8 v1.4 back on the MOUSEWRITE disk. I was able to write to he disk without any trouble at all. If anybody has any ideas, E-MAIL me or post a message here. Thanks, Rick Taft Subj: Re: BUG? IN P8 V1.7 88-11-29 22:58:41 EST From: Matt DTS I've not seen this one. If anyone can repeat it with source code, I wanna see it. --Mat Subj: Re: BUG? IN P8 V1.7 88-11-30 19:17:33 EST From: RTAFT Matt, The error message I got was "Warning: Your Disk could not be read. Make sure there is a disk in the drive". I can read this drive when I loaded the file to the desktop, so I know that it should read the drive. I know there were some changes in the MLI for version 1.7. Some changes were made in the area of BLOCK I/O subroutine near the beginning of the MLI. Could the eight $EA bytes that are no longer there affecting the timing of the disk access? The problem does not occur in version 1.4. Subj: Re: BUG? IN P8 V1.7 88-11-30 23:33:32 EST From: AFA Gary J RTAFT: Have you tried duplicating this problem with different disks? If so, was the problem repeatable? Gary Subj: Re: BUG? IN P8 V1.7 88-12-01 18:06:23 EST From: RTAFT Gary, Yes the problem exists on every disk that I use this program on. It clears up as soon as I change versions of ProDOS to 1.4. I didn't use the program when I had version 1.6, so I don't know if there were any problems w/that version either. I even checked for virus. AOK there too! I know 1.7 changed some bytes in the MLI for BLOCKI/O. They removed 8 NOP's and skipped right to the next routine in the assembly. Maybe those NOP's are affecting the timing of the disk access? Subj: Re: BUG? IN P8 V1.7 88-12-01 20:14:42 EST From: Dave Lyons I use P81.7 with 5.25 drives (as well as 3.5s, RAM drives, and an HD 20) and haven't had any trouble that wasn't obviously my fault (no disk, write-protected, etc.). Try using a utility to COPY the file in question to another disk. If that works okay, then something weird is going on with MouseWrite...possibly it doesn't behave nicely (stomps on reserved areas of memory or assumes the location of some internal ProDOS routine that moved). You might also call RWP and see what they have to say about it. (Why aren't they on AppleLink? Or are they & I just don't know about it?) --Dave Subj: Re: BUG? IN P8 V1.7 88-12-01 21:37:51 EST From: RTAFT I called Roger first, before telling the world my troubles. He's tried it w/ 1.6 without any problems. I told him to try it w/1.7 to see what happens. I can't understand why it works OK w/1.4 and not 1.7. Subj: Re: BUG? IN P8 V1.7 88-12-03 06:29:37 EST From: Guy Rice Just because a program works with v1.4 and not with v1.7 doesn't mean there's a bug in v1.7. Like someone else suggested, maybe Mousewrite does something in memory that steps on 1.7's toes, and didn't step on 1.4's toes. If it was a bug in the block I/O routines, as you suggested, it would affect ALL programs, not just Mousewrite, no? GTR Subj: Re: BUG? IN P8 V1.7 88-12-04 21:09:50 EST From: RTAFT BOY IS MY FACE RED!!! My problems are related to my cpu and not to P8 v1.7. Sorry to get everybody nervous....at least I got some good ideas on troubleshooting my problem. I guess v1.7 works just fine Subj: Re: BUG? IN P8 V1.7 88-12-05 04:31:31 EST From: Dave Lyons I was never nervous. Subj: Re: BUG? IN P8 V1.7 88-12-05 23:19:17 EST From: JSchober Dave Lyons = calm, cool as a cucumber... ;) Subj: System Program Programming 89-01-28 15:56:18 EST From: Dave Lyons Msgs: 10 (89-02-04) (Moved message) Subj: System Program Programming 89-01-28 00:36:56 est From: KellyT1 Msgs: 2 (89-01-28) I've been trying to understand system programming. I was ready to write my own little system program to experiment, but I never really get to start writing because I don't know how to write one. I learned to program in Basic, a little machine language and I even started learned Pascal 5.0 on IBM since my Senior year started at Highschool. I wondered if you write system program in machine or need a program compiler, or what? I really appreciate if you answer in a simple, detailed English.The book I was trying to find the answer aren't straightforwared and didn't answered my question completly. Ok. Let me repeat the question to anyone whoare able to answer that: Where is te memory location the system program are located (It's beginning adress)? Do you need a complier or anything like that to write(create) system program, OR you writ in machine language? Thanks to those who are able to answer the above question. KElly Subj: writing ProDOS SYS files 89-01-28 16:05:40 EST From: Dave Lyons Kelley, if I understand you correctly you are interested in writing SYS files for ProDOS 8, which works on the Apple II+, IIe, IIc, IIc+, and IIgs. (If you want to write stuff that takes advantage of the Apple IIgs toolbox and GS/OS and works only on the GS, that is a very different question.) Anyway, most SYS programs are written in assembly language, which translates directly into machine language. One popular assembler is Merlin Pro, available from Roger Wagner Publishing. There are a number of others, but Merlin is the one I've had the most experience with. Compilers for the Apple II to convert Pascal and C programs into executable programs are available (actually I'm not sure if there is a Pascal for ProDOS at the moment or not), but the generated programs are larger and slower than if you wrote them in assembly language. SYS programs load at location $2000 (decimal 8192), but they are free to move themselves to another location if they need to (the hires page 1 display starts at $2000!). Lots of good information about writing system programs for ProDOS 8 can be found in third-party books, as well as in the Addison-Wesley book _ProDOS 8 Technical Reference Manual_. --Dave Lyons Subj: Re: System Program Programming 89-01-29 19:42:48 EST From: Guy Rice Personally, I learned how from "Beneath Apple ProDOS" - also an excellent source of programming info... Subj: Re: System Program Programming 89-01-30 21:23:02 EST From: SteveL39 I learned from Apple ProDOS:Advanced features for Programmers by Gary Little. (Ok, now we've all named a book and should get a cut from book sales that will surely skyrocket after our endorsements...) You might look into using ZBasic to make system programs as well. They come out a little on the large side, but it's fairly simple to do since you write in basic. ZBasic can be gotten from Programs Plus (check an A+ magazine out for one of their ads.) for $39 (it lists for $79). Zedcor (the guys who make it) don't make it anymore (that's why it's so cheap) but the author hangs around here and GEnie and lots of people have it to help you out with it. -->>Steve Subj: Re: System Program Programming 89-01-30 21:23:38 EST From: Tower Plus I've read about Merlin Pro somewhere in the "Beneath the ProDOs" book I recently brought. Does it work the same way as Merlin 8/16. I got a catalog which have these software in stock. If it is the same way, is it easy to learn? Kelly :> Subj: Merlin Pro is... 89-01-31 00:52:07 EST From: AFL Jim Merlin Pro, the //e, //c assembler from Roger Wagner Publishing, is included in the Merlin 8/16 package. Subj: More on Merlin 8/16 89-01-31 21:16:50 EST From: AFA Gary J What Jim says is true. The Merlin 8/16 package comes with three disks. Two of the disks are 5.25" and the other is a 3.5". The 3.5" disk contains Merlin 16 for the IIGS. It has a linker and everything you need to produce full blown SYS16 programs. This version also requires either a 65802 or 65816 microprocessor to run. The two 5.25" disks contain two different versions of Merlin 8 (the new replacement for Merlin Pro). One disk is ProDOS and the other DOS 3.3. All three of the disks have the Sourceror (disassembler) program on them. All three versions of the program can produce 6502/65C02/65802 code. The version on the 3.5" disk can produce 6502/65C02/65802/65816 code. You can purchase Merlin 8/16 if you intend to write code only using a //e now, with the potential to upgrade to a IIGS later on. Gary Subj: Re: System Program Programming 89-02-04 01:03:17 EST From: KellyT1 Is Merlin 8/16 avaliable in 3.5" in ProDos 8 operating system which will be able to run on Apple IIc Plus? Your prefious message didn't specificly say the there are 8 bit (Merlin 8) on 3.5". Kelly :> Subj: Re: System Program Programming 89-02-04 02:11:38 EST From: AFA Gary J The 8 bit Merlin that I am aware of came only on a 5.25" disk. The 3.5" disk that came with Merlin 8/16 ONLY contained Merlin 16, not Merlin 8. I would guess that this may change with the advent of the //c+. You might try writing to or calling Roger Wagner Publishing. They are at: 1050 Pioneer Way, Suite P El Cajon, California 92020 (619) 442-0522 Subj: Merlin 8 on 3.5 disk 89-02-04 14:19:36 EST From: Dave Lyons Or, you could just buy it on 5.25 disk and get a helpful dealer or friend to copy the files from the 5.25 disk to a 3.5 disk. It's regular unprotected ProDOS format, so this would not be a problem. Subj: ProDOS 8 MLI 89-03-15 21:40:30 EST From: SteveL39 Msgs: 32 (89-04-24) The following code is supposed to do an ON_LINE call. It doesn't work. It always prints slot 5, drive 2 and then the screen messes up. I don't have a drive in slot 5. This is Merlin 8/16 code. (BTW how do you make merlin format code nicely?) ONLINE STZ HIMEM ;point to a good buff space LDA #$10 STA HIMEM+1 JSR FULLWIND JSR HOME LDA #ONLMSG STA TOPRINT+1 JSR PRINT ;prints text pointed to by toprint :CHECK JSR KEYPRESS ;returns the key pressed, hi bit set if OA was also hit CMP #$1B BEQ STARTVEC CMP #$AF BEQ :HLPJMP CMP #$BF BEQ :HLPJMP :MLI JSR MLI DFB #$C5 ;ON_LINE call DA ONLTBL BRA :OK :HLPJMP JSR ONLHLP BRA :CHECK :OK LDY #$00 :SCAN TYA PHA LDA (HIMEM),Y BEQ :SCAN2 ;if $00 then done AND #$0F ;get length BEQ :NEXTNAME ;if 0 then error PHA LDX #$00 :PRTMSG1 LDA SLOTMSG,X BEQ :PRTNUM1 JSR COUT INX BNE :PRTMSG1 :PRTNUM1 LDA (HIMEM),Y AND #$70 LSR LSR LSR LSR ORA #$B0 JSR COUT LDX #0 :PRTMSG2 LDA DRIVEMSG,X BEQ :PRTNUM2 JSR COUT INX BNE :PRTMSG2 :PRTNUM2 LDX #$B1 LDA (HIMEM),Y BPL :PSKIP LDX #$B2 :PSKIP TXA JSR COUT LDA #$BA JSR COUT LDA #$A0 JSR COUT LDA #$AF JSR COUT PLA TAX :PRTNAME INY LDA (HIMEM),Y ORA #$80 JSR COUT DEX BNE :PRTNAME JSR CROUT :NEXTNAME PLA CLC ADC #16 TAY CPY #224 BNE :SCAN PHA :SCAN2 PLA JSR CROUT LDA #DONEMSG STA TOPRINT+1 JSR PRINT JSR RDKEY JMP START1 ONLTBL DB $02 ;2 parms DB $00 ;all volumes DA HIMEM buffer SLOTMSG ASC "Slot - ",00 DRIVEMSG ASC ", Drive - ",00 Subj: parameters for ONLINE 89-03-16 02:56:34 EST From: Dave Lyons Okay, here are the relevant pieces of your code: ONLINE STZ HIMEM ;point to a good buff space LDA #$10 STA HIMEM+1 ... :MLI JSR MLI DFB #$C5 ;ON_LINE call DA ONLTBL BRA :OK ... ONLTBL DB $02 ;2 parms DB $00 ;all volumes DA HIMEM buffer What _is_ the label "HIMEM" equated to? You didn't include that part. Whatever it is, according to your parameter list (DA HIMEM), _that_ location is where the 256 bytes of info from ONLINE will be placed. The code at the beginning stores $00 into the first location and $10 into the second one, but these are never used--the ONLINE call just overwrites those two bytes (and the 254 following bytes) with the returned info. You're actually making it more complicated than necessary. Try this: Buffer EQU $1000 Instead of LDA (HIMEM),Y, use LDA Buffer,Y. Just indexed, not indirect (no parentheses). Instead of DA HIMEM, use DA Buffer. Remove the STZ HIMEM and STZ HIMEM+1 entirely. No need for them, since your buffer is nailed down to a particular address. Note that there is no need to memorize or look up the ASCII values of common characters. If you want to print a colon, try LDA #":" instead of LDA #$BA. Use single quotes if you want the high bit turned off, double for on. --Dave Subj: Re: ProDOS 8 MLI 89-03-17 23:15:48 EST From: SteveL39 I did try LDA #":" and it choked. Maybe I did it wrong, I don't know. I found the problem anyway. Where it says DA HIMEM should be DA $0073 (Prodos's Himem pointer) What the code I listed tried to do is read the info back out of the zero page. The next problem: imagine the above with all the 'JSR COUT' replaced with 'JSR OUTP'. Then, OUTP PHX LDX $69 STA 1000,X INC $69 PLX RTS I would think that this would work, but it doesn't. If I look at memory after all of it has been filled, I see: 1000:80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 8d 00 80 80 ....etc.. So, it is not working right. Any ideas? (Maybe I should send the whole source and let you finish the program! ;) j/k -Steve Subj: Re: ProDOS 8 MLI 89-03-18 00:02:43 EST From: AFL Jim Steve, You _did_ initialize loaction $69 to zero didn't you? Subj: parameter lists 89-03-18 20:05:20 EST From: Dave Lyons Steve, do feel free to send-file-by-mail me the source, so I can get the whole picture. You should very definitely _not_ have a DA $0073 in the parameter list for your ONILNE call. This is asking ProDOS to store 256 bytes of data from $0073 to $0172. Not at all good. My best guess is that you are trying to put the data in BASIC.SYSTEM's temporary buffer, which starts at the address stored in $73-$74. In that case, here's what you want to do: HIMEM EQU $73 LDA HIMEM+1 STA BuffAdr+1 LDA HIMEM STA BuffAdr ... OnlineP DFB 2 DFB 0 ;all units BuffAdr DA 0 ;will get changed There is no way to know the value in advance; you have to fetch and use the value stored at HIMEM when your program runs. Subj: Re: ProDOS 8 MLI 89-03-19 14:49:42 EST From: SteveL39 Yep, that's what I did. I have decided to scrap the "Slot" and "Drive" messages as both unecessarily complicated and un-needed. The name of the disk tells you a lot more about it than where it is anyway. Since,at least for now, I'm not supporting Dos 3.3, the physical location isn't needed anyway. So, now I'm trying to figure out how to make a cursor move up and down the side of the drive listing and then when you press return, move the disk name out of the ON_LINE buffer and into a SET_PREFIX buffer. Here's my somewhat weak attempt: INVFLG EQU $32 PRNT EQU $60 LEN EQU $62 LIN EQU $63 ENTRIES EQU $64 CURRENT EQU $65 CH2 EQU $66 MASK EQU $67 POS EQU $68 PARM EQU $69 ONLINE LDA HIMEM STA OLBUF LDA HIMEM+1 STA OLBUF+1 JSR FULLWIND JSR HOME LDA #ONLMSG STA TOPRINT+1 JSR PRINT :CHECK JSR KEYPRESS CMP #$1B BEQ STARTVEC CMP #$AF BEQ :HLPJMP CMP #$BF BEQ :HLPJMP STZ CT LDA #$4 STA VT STA CH2 ;set position of first entry JSR CLEAREOP ;CLEAREOP clears window STZ ENTRIES ;set # of devices to 0 :MLI JSR MLI DFB #$C5 ;ON_LINE call DA ONLTBL BRA :OK :HLPJMP JSR ONLHLP BRA :CHECK :OK LDY #$00 STZ TEMP1 ;initailize it :SCAN TYA PHA LDA (HIMEM),Y BEQ :SCAN2 ;if $00 then done AND #$0F ;get length BEQ :NEXTNAME ;if 0 then error PHA LDX #$5 JSR PRBL2 LDA #"/" JSR COUT INC ENTRIES ;each time it passes here, another disk PLA TAX :PRTNAME INY LDA (HIMEM),Y ORA #$80 JSR COUT DEX BNE :PRTNAME JSR CROUT :NEXTNAME PLA CLC ADC #16 TAY CPY #224 BNE :SCAN PHA :SCAN2 PLA LDA CH2 ;load old V-Position STA VT ;and set to it STA POS STZ CT ;set to first columm :PICK LDA #$A0 JSR COUT JSR COUT STZ CT LDA POS STA VT JSR MOUSEON LDA #'S' JSR COUT LDA #'U' JSR COUT JSR MOUSEOFF ;print arrow in first column :KEY LDA KBD BPL :KEY ;wait for a key BIT KBDSTB CMP #$8B ;up arrow BEQ :UP CMP #$8A ;down arrow BEQ :DOWN CMP #$8D ;return BEQ :THATONE CMP #$9B ;escape BNE :KEY ;if not, try again JMP START1 ;if so, menu :UP DEC POS LDA POS CMP CH2 BLT :LESS ;if pos < 5 then fix that BRA :PICK :LESS LDA ENTRIES CLC ADC CH2 STA POS BRA :PICK :DOWN INC POS LDA POS SEC SBC CH2 CMP ENTRIES ;if pos > entries then fix it BCC :PICK :MORE LDA CH2 STA POS BRA :PICK :THATONE LDA VT DEC CH2 ;make ch2 1 less for subtraction SEC SBC CH2 ;subtract 1st position ASL ASL ASL ASL ;multiply by 16 to get entry in buffer TAY LDA (HIMEM),Y ;get first byte AND #$0F ;strip slot,drive STA PFXNAME ;put length in length byte LDA #"/" ;put slash in front of name STA BUFFER LDX #$00 :LP2 INY INX LDA (HIMEM),Y ;hopefully, this will copy ORA #$80 ;(make sure hi bit is set) STA BUFFER,X ;the pathname into the setpfx buffer CPX PFXNAME ;compare it to the length BEQ :SETPRFX ;if same, drop out of loop BNE :LP2 :SETPRFX JSR MLI DB $C6 ;Set_Prefix call DA SETPFX BCS :ERROR JSR CROUT LDA #DONEMSG STA TOPRINT+1 JSR PRINT JSR RDKEY JMP START1 :ERROR JSR SYSERR JMP START1 ONLTBL DB $02 ;2 parms UNITNUM DB $00 OLBUF DA $0000 ;buffer SETPFX DB $01 ;1 parm DA PFXNAME ;location of data table PFXNAME DB $00 ;length for set prefix BUFFER DB $AF ;stick a slash here DS 15,$00 ;volume name The problem is that the cursor doesn't move and is also below the name list. Any ideas? (I get the feeling I jumped into deeper water than I'm ready for with this project..) Subj: VTABbing, use subroutines, etc 89-03-21 21:33:09 EST From: Dave Lyons Steve, it's hard to debug your code when only pieces of it are there. Important pieces of info (like whether VT is a zero page location like $25 with significance to the ROM routines) are missing. A guess: you are storing into VT and assuming that that is sufficient to move to a new line. It isn't. One way is to LDA with the line number you want and JSR $FB5B (this stores the line number into $25 and then computes the value for $28-9 that COUT/KEYIN/etc assume is a valid poiner to the start of the line). Note that since you're already using 65C02 opcodes (like STZ), you might as well use PLX in place of PLA TAX. Some unsolicited notes. In general, your program would be much more readable (and probably more writable, too!) if you used many more subroutines and documented exactly what they are responsible for doing, and what assumptions they make. In place of a string of CMPs and BNEs, I prefer to look up the address of a subroutine to call in a table (for handling keypresses, for example). Also, passing information to subroutines can be done in registers more readably than in fixed storage locations (easy example: your TOPRINT subroutine could just as easily accept a pointer to the string in A and Y (or whatever), and the caller would not have to "know" to store the value in TOPRINT before making the JSR). (Even better, I prefer to put literal messages "inline" like this: jsr mess asc "This is a message.",00 where mess is a subroutine that starts out by removing the 2-byte return address from the stack, putting it into a zero-page pointer, and then (in a loop) incrementing it and printing characters it points to, until it hits the 0. Then it pushes the address back on the stack and RTSs. There's one place where you have DFB #$C5. This is not a problem, but I discourage the use of "#" in that case even though Merlin permits it. "#" means immediate addressing mode on operations like LDA, LDX, LDY, BIT, CMP, CPX, CPY, etc. One more favorite thing of mine: ctrl equ $40 and then you can write things like CMP #"X"-ctrl to check for a Ctrl-X (with high bit on; use single quotes for off). --Dave Subj: Re: ProDOS 8 MLI 89-03-22 00:40:27 EST From: SteveL39 Thanks a lot. I added a JSR to TABV in the monitor ROM after all of the STA VT ($25 in zero page) and it works beautifully now. (I always figure it out on my own before I get a chance to check for responses. Maybe I should just type the message in on the Work Offline editor so it feels like I asked for help and save myself some money.. ;) Subj: Typing out your problems... 89-03-22 23:40:26 EST From: AFA Gary J Steve, I have found that to be true to....when I ask a programming question someplace, I tend to figure it out on my own FASTER than if I hadn't asked the question. I think putting your problem in writing helps clarify the thought process for yourself, and thus enables you to come to a solution quicker. :) Gary Subj: Re: ProDOS 8 MLI 89-03-25 20:46:25 EST From: SteveL39 Does anyone know of/have some Merlin 8 source for a catalog routine? I know how to do the filename (ProDOS technote #17) and maybe the filetype but I'm kinda stuck on how to handle the blocks used, the dates, subtype, and endfile. Subj: Re: ProDOS 8 MLI 89-03-25 21:22:00 EST From: AFL Dyfet Actually, there is now a new 'officially' approved way to examine a ProDOS directory under ProDOS 8. The shortcut many people in the past chose to do was to examine the first block on disk where the directory was stored (thirteen file entries are stored per 512 byte ProDOS block) and then follow the block link pointers to get each subsiquent block. Some clever people even sorted file entries and wrote them back to disk this way (ProDOS DIR files cannot be written to from file calls). The introduction of Appleshare changed all this. You can no longer directly read and write blocks on an Appleshare volume and you now must do all directory scanning through the file system. Appleworks, from what I recall, was one of the naughty programs that did direct block I/O to scan directories, and that is one of the changes in the 'Appleshare aware' version of that program. I would be happy to share the directory scan/display routine from one of my programs (probably from the Bbasic II DIR command), if you wish. This source would be in Merlin format, although some of my macros may confuse you :) (Just ask Dave Lyons about this, I think I shared source code with him once and his response was Nifty List, no doubt so that he could figure out what it did easier!) Subj: Reading Directories in P8 89-03-26 01:44:43 EST From: Matt DTS But Dave, we're already ahead of you. The November '88 revision of ProDOS 8 Technical Note #17 replaces Greg Seitz's READ_BLOCK recursive directory routine with Keith Rollin's OPEN/READ recursive directory routine. An example from Apple, free to the world. In fact, Steve referred to this in his question. He's using that routine to get the filename (and maybe the filetype), but can't figure out the rest of it. Steve, what you need to do is look closely at the routine and at the P8 directory structure documented in the manual. What Keith is doing is READing the directory file. From the directory structure, he knows that the filename starts in the second byte (with the length in the low nibble of the first byte), and he uses that in PrintEntry. Study the directory structure yourself and you'll know where the other fields are, so you can display them as you choose. --Matt Subj: Re: ProDOS 8 MLI 89-03-26 15:15:04 EST From: AFL Dyfet Thank you Matt! I did not notice that update myself, but I've been doing 'legal' directory scanning under ProDOS 8 ever since Appleshare was in early seed. Dyfet Subj: Re: ProDOS 8 MLI 89-03-27 19:05:33 EST From: SteveL39 I got it all but the Endfile catagory! Now the problem is that I don't know a good way to print a 3 byte hex number as a decimal. (I also skipped subtype. I never need it anyway.) Subj: auxtype; decimal numbers 89-03-27 19:39:02 EST From: Dave Lyons The auxiliary type is a very useful piece of info for a lot of filetypes--don't omit it from a catalog listing lightly. Anybody have a particularly handy example of a decimal print routine? I can dig one out of Davex. Not all that tough, actually--start with a table of the powers of ten, in however many bytes you want. Subj: Re: ProDOS 8 MLI 89-03-28 22:36:10 EST From: Matt DTS Yes, and ProDOS 8 TN #19 specifically tells developers NOT to omit the AuxType field just because they don't think they have a use for it. Since Apple assigns file type and aux type combinations, users may have a great need for it. For instance, a knowledgeable user can tell an AppleWorks GS DTP file from a Medley file by looking at the auxtype ($8010 for AWGS; $DD3E for Medley). If he can't see the auxtype, though, he'll never get the chance to try... --Matt Subj: Re: ProDOS 8 MLI 89-03-29 21:45:29 EST From: SteveL39 OK,OK I'll put it in!! Sheesh! ;) I didn't know that since my APDA membership hasn't come through yet and I'm too cheep (or smart?) to download all the technotes from here. Could someone please tell me how to print 3 byte hex numbers as decimals? (I need actual code, not how to. I don't even really know how to do 2 byte numbers. I found a routine.) Thanks, Steve Subj: 3 byte hex to dec routine 89-03-31 08:25:13 EST From: AFL Floyd ac0 ds 1 ac1 ds 1 ; low byte of hex number ac2 ds 1 ; middle byte of hex number ac3 ds 1 ; high byte of hex number buffer ds 10 ; buffer to hold ascii decimal number ; probably should fill this with spaces before ; calling this routine hex_to_dec stz ac0 ldy #9 :a jsr :b lda ac0 ora #"0" and #%01111111 :st sta buffer,y dey lda ac1 ora ac2 ora ac3 bne :a stz ac3 rts :b ldx #24 lda #0 sta ac0 :c jsr shift_ac rol ac0 sec lda ac0 sbc #10 bcc :d sta ac0 inc ac1 :d dex bne :c rts shift_ac asl ac1 rol ac2 rol ac3 rts Subj: Re: ProDOS 8 MLI 89-03-31 19:28:36 EST From: SteveL39 Thanks a lot Floyd! I can go on now! ;) Subj: MLI Errors 89-04-11 20:50:27 EST From: Dr Who29 Could somebody post a list of the MLI error codes and what they mean? If nobody can find that, then I just need to know about error $48 (although the whole list would be very nice). Thanks! Subj: Re: ProDOS 8 MLI 89-04-11 21:31:40 EST From: Matt DTS All the error codes are explained in detail in the ProDOS 8 Technical Reference, a tome all developers of P8 applications should have (if they intend to give them to anyone else, that is). But out of the goodness of my heart (read "I'm not tired and grumpy yet"): $48: Overrun error. An attempt to allocate blocks on a block device during a CREATE or WRITE operation failed due to lack of space on the device. This error also is returned on an invalid EOF parameter. Data is written until the disk is full, but you will always be able to close the file. --Matt Subj: Re: ProDOS 8 MLI 89-04-14 21:51:25 EST From: SteveL39 But if you were too cheap (like me) to buy the manual.... ProDOS 8 MLI Error codes ------------------------ Num Description ---------------- $00 No error $01 Invalid MLI command $04 Invalid parameter count $25 Interrupt table is full $27 Disk I/O Error $28 No disk device connected $2B Disk is write protected $2E Disk was removed $40 Invalid pathname syntax $42 No more file buffers allowed. $43 File is not open $44 Directory does not exist $45 Volume directory does not exist $46 File does not exist $47 Duplicate file name $48 Disk is full $49 Directory is full $4A Incompatible version $4B Invalid storage type $4C End of data $4D Range error $4E File is locked $50 File is busy $51 Damaged directory $52 Not a ProDOS disk $53 Parameter out of range $55 VCB table is full $56 Buffer area in use $57 Volumes have same name $58 Volume bit map damaged Subj: too cheap to buy the manual 89-04-16 23:07:56 EST From: Dave Lyons If you value your TIME at all, you are being cheap if you DON'T buy the manual. It's well worth it to have the proper documentation to make sure your program is interacting with the system the way it is supposed to, for future compatibility, etc. --Dave Subj: Re: ProDOS 8 MLI 89-04-17 18:01:26 EST From: SteveL39 I bought Gary Little's book instead. Seems just as good if not better. I may end up getting the official Apple one anyway, since the book only goes up to P8 V1.1.1! Anyway, now I ran into a real neat problem. I'm using the routines in Prodos Technote #17 to catalog disks. Now, a disk with no deleted files works fine. But once a couple files get deleted from high up in the directory, it starts dropping files off the end of the catalog, i.e. it only lists the first 3 out of 12 on one disk. Is that a bug in the routines (hopefully) or Prodos(also hopefully), or is the problem mine? BTW It's P8 V1.7. Subj: Re: ProDOS 8 MLI 89-04-18 19:36:24 EST From: AFL Floyd Look in your code where you check the file entry. You probably aren't checking for a zero byte which means it is an inactive entry (deleted). In the source code of the ProDOS technote #17 it is under "ReadDir" . . . loop equ * ldy #otype lda (entPtr),y cmp #0 ;<--- here is the test for inactive entry beq nextEntry ;inactive so get next one . . . Hope this helps. Floyd Subj: Re: ProDOS 8 MLI 89-04-19 23:30:29 EST From: ShrinkIt Hey! I don't have the official apple book! (wish I did sometimes) -- I've been using an *OLD* copy of _Beneath Apple ProDOS_ for ages now.. andy Subj: Re: ProDOS 8 MLI 89-04-21 20:41:50 EST From: SteveL39 Thanks Floyd...I hope it works! This is really getting irratating since I just copied the first version I wrote of the catalog routine into every program module. So, I have 7 programs that need to be fixed.. -Steve Subj: The Manual (yet again) 89-04-22 12:57:59 EST From: Matt DTS I like Gary Little's more recent book, "Exploring Apple's GS/OS and ProDOS 8". It seems to have all the stuff his older book had in it, as well as an integrated discussion of GS/OS. But *no* third-party book (even one with my name in it :) ) can take the place of the Apple manuals. If you're programming on your own, anything you want to use is fine. But if you start distributing your programs, you owe it to those you give your programs to to make sure they'll work with newer versions of ProDOS 8. Third-party books don't state what is guaranteed and what isn't - only Apple manuals and Technical Notes do. --Matt Subj: Re: ProDOS 8 MLI 89-04-22 19:33:10 EST From: SteveL39 What version of P8 does the newest Prodos Technical Reference manual go up to? Subj: Re: ProDOS 8 MLI 89-04-23 10:29:48 EST From: AFA Parik The latest one I have was published in 1987, so I guess somewhere around 1.4? As Matt said, the TECHNOTES are whats going to keep you updated, the book can't be republished for every version of PrODOS 8 thats released. Download all the P8 technotes and read through them. Subj: Re: ProDOS 8 MLI 89-04-23 14:08:53 EST From: SteveL39 I figured it out! In ProDOS Technote # 17 (Recursive catalog routine), there is a bug! (Hey Matt!! Take note! I think your name is in there somewhere!) Down in GetNext, it reads: GetNext Lda ThisEntry Bne Skip1 Dec ThisEntry+1 Bmi DirDone Skip1 Dec ThisEntry Dec ThisBEntry and so on... It should read: GetNext Ldy #0 Lda (EntPtr),y Beq Skip2 Lda ThisEntry Bne Skip1 Dec ThisEntry+1 Bmi DirDone Skip1 Dec ThisEntry Skip2 Dec ThisBEntry and so on.... Apparently, the program was decrementing the number of directory entries left to print even if a file was inactive. When that happened, it would drop files off of the end of the listing. (Can I get my name in the next revision for this??) -Steve Luzynski Subj: P8 technote problem 89-04-24 01:04:56 EST From: Dave Lyons I'll take a look at that technote--thanks. It actually should be ignoring the number-of-files-in-this-directory counter anyway, since files can be added to or deleted from a directory WHILE you are cataloging it, if the directory happens to be on a file server (AppleShare). The preferred method is to keep reading until you get an error from the READ. Subj: Upgrade Prodos8 1.3 w/patches? 89-05-05 11:30:20 EST From: Stephen DJ Msgs: 12 (89-05-30) I am working on a project that involves the need to have ProDOS-8 in a 'assemblable source code' fashion. Since I have been unsuccessful in finding such a file, if it even exists to the public, I have 'created' my own (by dumping a disassembly into a TXT file, and some hard work recreating labels, etc). I had to use version 1.3, since that is the most recent version of the ProDOS supplement available from Quality Software (Beneath Apple ProDOS). My question is: does anyone know of the kinds of changes that have been made in Prodos-8 to bring it to version 1.7? Does a list of patches and/or other changes exist anywhere in the libraries, or does someone have the information that wouldn't mind uploading it? Note that the supplement does point out the errant 65C02 instruction, and another incorrect instruction, so my assembled file should at least work fine. However, I would prefer to have as recent a version as possible. Any and all help will be greatly appreciated. Subj: can't distribute modified ProDOS 89-05-08 02:40:07 EST From: Dave Lyons I think I should point out that your license agreement with Apple does not permit to you distribute a modified version of ProDOS with your product. If you don't have a license agreement in the first place, you can't distribute ProDOS with your product at all. I wish I could be more help. Why do you "need" to modify it, anyway? Copy protection? Just curious. Subj: Re: Upgrade Prodos8 1.3 w/patche 89-05-08 21:17:55 EST From: Stephen DJ Dave, The company I work for is creating a network system (for schools). We want a dos that, to other programs already written (like public domain stuff), looks just like normal dos. But, in place of disk drivers, it will make network calls to the host computer hard disk. It seems that the best approach for this is to start with the 'original' dos, then modify as little as possible to maintain as much compatibility as possible. I hope we can work out the problems with licenses, and stuff. Subj: Re: Upgrade Prodos8 1.3 w/patche 89-05-09 00:29:19 EST From: Harrington You don't have to touch ProDOS 8 to get network support. With system disk 3.2 or 5.0, it comes free. Is there anything in particular that you need for the network in P8 that we don't provide? Tim Harrington Subj: Re: Upgrade Prodos8 1.3 w/patche 89-05-09 23:08:30 EST From: Matt DTS There aren't many ways that are faster than trying to re-assemble Apple operating systems to get phone calls from people in three-piece suits who use words like "injunction". :) Seriously, you don't need to replace ProDOS 8 to do this. If using AppleShare, it's built in from P8 1.5 and beyond. If not, you can replace the device driver vectors on the global page with the address of a RAM driver that makes network calls. That's basically how AppleShare does it, with a few extra twists. --Matt Subj: Re: Upgrade Prodos8 1.3 w/patche 89-05-10 19:50:10 EST From: Stephen DJ First of all, this is NOT a AppleTalk network. The best description would be a 'home-made' network. Second, replacing device drivers with additional RAM code would NOT be possible, because to run previously written programs (like public domain stuff), I can not assume ANY space is available in RAM to put a network-device-driver routine. Finally, distributing modified programs (like Dos 3.3, Prodos) under the license agreement is NO problem. Here's an example of how to do it with prodos -- Bload the ORIGINAL, UNCHANGED Prodos SYS file at the normal launching address of $2000, then, BEFORE jumping to $2000, bload an 'overlay-mask' file at $2000 (it 'merges' with whatever happens to already be in memory -- in this case prodos), and THEN jump to $2000. This SHOULD work, shouldn't it??? Subj: Re: Upgrade Prodos8 1.3 w/patche 89-05-20 22:19:05 EST From: A GibberFC Actually the laws regarding licensed operating systems are very tricky.... if your company has a license agreement with Apple for the distrubution of Prodos I believe that there is a clause in the agreement about modifications of such systems. The problem lies in that you don't own the code that you want to modify and to modify code that is owned by someone else can be interpreted as a violation of copyright laws. If at all possible try to use the methods approved by Apple to get the network to run. Otherwise.. to modify an Operating system is a major step toward not being compatible with future versions of such systems. AFC Gibber Subj: Re: Code ownership 89-05-21 00:38:03 EST From: TMH2 So as not to propagate the myth that some have attempted, one may not own the CODE, but one DOES own one's INSTANCE of that code. Z^\GGGGGGGGGGGGGGGGGGG\_ Z R Z T. Mike Howeth II N Z Dallas, Texas N Z (TMH2) V Z B Q ZO WVWVWVWVWVWVWVWVP_ Subj: Re: Upgrade Prodos8 1.3 w/patche 89-05-21 10:28:15 EST From: AFA Parik You can get system software licensing agreements from Apple (pay like $100 a year I think) and modify the heck out of your prodos... thats what Origin did with Ultima V I believe (?) Subj: I Dont Think So Parik 89-05-21 11:11:07 EST From: Coach101 I have never seen the Apple system software redistributin license, but other (mini/mainframe) licenses that I have dealt with would not allow you to modify the code and then distribute the modified code. Several postings back, the technique of distributing the "released" from Apple code and distributing a "patch" program that made changes was suggested. That sounds like an approach that though it might irritate some it might avoid the visits from the three-piece suits speeking "injunctionese". Subj: "Software License Agreement" 89-05-21 23:22:15 EST From: AFL Floyd Here is an excerpt from my "Software License Agreement": 7. MODIFICATION Apple Software may not be modified by Developer without the prior written permission of Apple. Any Apple Software that is modified after such consent will continue to be subject to the terms and conditions of this License. ********* I think this makes it clear that you can't just arbitrarily modify Apple Software (including ProDOS 8). Floyd Subj: Re: Upgrade Prodos8 1.3 w/patche 89-05-30 18:22:33 EST From: HyperRam How did that guy make that dialog window?????? Subj: HOW MANY VERSIONS OF PRODOS 8 ? 89-05-12 22:24:20 EST From: WagnerE Msgs: 13 (89-05-30) 05/10/89 Could somebody tell me how many versions of ProDOS 8 and BASIC.SYSTEM there are to date? I would appreciate receiving files for versions that I am missing. I plan to use this 'old' versions for testing and study. Listed below are the files I have found on my many and scattered ProDOS disks: PRODOS or P8 (ProDOS 8) Vers. Bytes Boot Date 1.0.1 15360 1-JAN-84 1.0.2 15360 15-FEB-84 1.1.1 14848 18-SEP-84 1.4 15485 17-APR-87 1.5 15485 15-JUL-88 1.7 15485 09-AUG-88 BASIC.SYSTEM Vers. Bytes 1.1 10240 Erick Wagner (WagnerE) Subj: Re: HOW MANY VERSIONS OF PRODOS 89-05-13 10:18:13 EST From: AFA Parik 1.2 and 1.3 also exist, as does Basic System v1.0 and Basic System v1.2. There are numerous beta-copies also, GS/OS v5.0 contains ProDOS 8 v1.8. v1.3 was buggy and is generally not in use, so you need not worry about that. v1.4 and v1.2 don't have too many changes in between, and programs should be able to be used interchangeably between each one. v1.xB contains Glen Bredon's BYE program in it, for a sampling of it try using ProSEL but delete prosel.system and replace its entry with basic.system. then hit BYE and you'll come across a very nice BYE usage. I think i've got P8 v1.2 and v1.3 laying around, definitely have basic.system v1.2 laying around. I can email these to you if you want. Subj: Re: HOW MANY VERSIONS OF PRODOS 89-05-13 19:47:45 EST From: SteveL39 What has been added to Basic.System V1.2?? Subj: Error, error! Nuclear Meltdown! 89-05-14 22:46:18 EST From: HyperRam Help! Is this a warning or what? I launched ProDOS v1.1.1 off of the finder a few weeks ago and got '*RELOCATION/CONFIGURATION ERROR*'. I thought, well ProDOS v1.1.1 sucks and just doesn't work. Today I read in a book, ProDOS Inside and Out, that that means the hardware or the disk is damaged. I verified, check, validated, EVERYTHING on the disk, NOTHING WRONG! I wondering if there is a hardware problem. Damn computers, never reliable, always breaking down :) Ram Subj: Re: HOW MANY VERSIONS OF PRODOS 89-05-14 22:50:54 EST From: HyperRam By the way, I'll take 1.0.2 and 1.0. In the Sword of Sodan (Uled by Parik) it used something like v1B.5X or something strange like that. What does that mean? Subj: RE: Relocation/config error 89-05-20 18:00:35 EST From: DennisDoms HyperRAM - that error normally means that something went wrong with relocating the ProDOS image; that may occur if the machine state is something that the relocator doesn't expect as well as if the loaded image is "bad". If the error is _consistent_, try to localize it to a specific diskette (by trying to boot another disk), or disk drive (by trying to boot from a different slot). If only a specific diskette or drive causes problems, suspect that the diskette or drive is erratic. If the problem occurs with any ProDOS disk booted from any device, then start to suspect something in the CPU, or some disturbing influence (such as having a poorly shielded EMI source close to the CPU/drives). Subj: Re: HOW MANY VERSIONS OF PRODOS 89-05-21 19:25:55 EST From: HyperRam It's consistant. It's probably just a crappy copy. Subj: Re: HOW MANY VERSIONS OF PRODOS 89-05-21 22:51:54 EST From: HyperRam Ok. I get the Relocation error when I launch the P8 off of the GSOS desktop. But I put basic system in and booted it up, it worked fine, BUT it refused to run applesoft programs at Transwarp speed and refused to let me goto the control panel. (this is version 1.0.1) I doubt there is anything wrong with my computer, the later versions (1.4 +) work. (thats all I tested) Subj: launching the PRODOS file 89-05-22 21:05:20 EST From: Dave Lyons There has never been any guarantee that you can launch a PRODOS file at any time other than a real boot. You have apparently discovered one situation where you actually can't. I don't understand what you mean by "...BUT it refused to run Applesoft programs at Transwarp speed." Did it refuse to run programs (what happened?), or did it run them at normal speed? ProDOS 1.1.1 disables interrupts--therefore you can't get to the control panel (until you hit RESET, or until some program enables interrupts). Why do you want to use ProDOS 1.1.1, anyway? Subj: Re: HOW MANY VERSIONS OF PRODOS 89-05-23 15:11:13 EST From: HyperRam What I meant is, the program wasn't running at 7 MHz like it should be. It ran at 2.6 when it was on transwarp. It's supposed to run at 7. Subj: Re: HOW MANY VERSIONS OF PRODOS 89-05-23 18:40:47 EST From: AFA Parik Its for the same reason Dave gave, when you have IRQ ON, and the computer has interrupts off the TWGS slows down (to 1.0 or 2.6, I can't remember). Try turning IRQ to off and you'll see it run at 7.0 (hopefully :) Subj: Re: HOW MANY VERSIONS OF PRODOS 89-05-24 19:34:31 EST From: HyperRam Oh, ProDOS 1.1.1 sucks too. :) Subj: Re: HOW MANY VERSIONS OF PRODOS 89-05-30 18:23:58 EST From: HyperRam Hye, the SOS demo had 1.4B in it and I don't see any wing dong bigy bye anywhere. :) Ram Subj: ProDos Mover? 89-06-21 22:05:23 EST From: Airship Msgs: 4 (89-06-22) We're re-writing an old data acquisition program that was originally written under DOS 3.3. To maximize the memory available for data we used a Beagle Bros. DOS mover to make the memory below ROM available for data. Since we'd like to hold the number of necessary changes to a minimum does anyone know of a way to similarly move ProDos? Subj: Re: ProDos Mover? 89-06-21 22:30:26 EST From: AFA Gary J Airship, ProDOS itself already occupies the space that Beagle's DOS mover program used when it moved DOS 3.3. So to the best of my knowledge, it can't be done. There may be other alternatives, however. Are you writing your program in BASIC? If you are, then BASIC.SYSTEM is your problem. It sits right where old DOS 3.3 used to sit. If you aren't writing in BASIC, then you can write your program as a SYSTEM program and you won't need BASIC.SYSTEM. But in doing that, you'll probably use up a lot of the extra space that you would have had with code to do the stuff that BASIC.SYSTEM provides. Gary Subj: Re: ProDos Mover? 89-06-22 00:01:04 EST From: Jump Long Beagle does have a utility that lets you use the Aux bank of memory for BASIC data - Extra K. Subj: A little more info. 89-06-22 20:43:38 EST From: Airship Thanks for the info guys. The program we're using is a mix of AppleSoft Basic and machine language. We've had Extra-K for a long time but can't use it here. We're running a 12 bit A/D converter (among other things) and stroring the data from within a machine language program and Extra-K can't be used from this environment. The root of the problem is that we need to get the data in a ProDos 3.5" format. So, it looks like the best way out is to leave the software alone, add a 3.5" drive to the system and use a system utility disk to do the conversion. Not pretty, but it'll work. Thakns again. Airship. Subj: II GS bit signature in ProDOS 8 89-06-28 11:40:16 EST From: WaltBisbey Msgs: 4 (89-06-29) Does anyone know what the bit signature for a II GS is at $BF98 (MACHID - Machine ID byte) on the ProDOS Global Page? My book lists the bit signatures for II,+,c,e, but was published before the IIgs came out. My code wants to know what it is in. -- DHS Subj: Re: II GS bit signature in ProDO 89-06-28 23:28:26 EST From: Montagne I don't recall for ProDOS 8 and don't have my documentation here but under GS/OS, the global page is not supported. Subj: Re: II GS bit signature in ProDO 89-06-29 03:53:16 EST From: AFL Dyfet I believe the IIgs still uses the same machid signiture as an enhanced Apple IIe. This was originally done so that older applications that test the ProDOS 8 machine ID will be able to recognize it as a IIe. To find out if you are really running on a IIgs from ProDOS 8, there is a seperate firmware routine you can call. Dyfet Subj: How to identify a GS under P8 89-06-29 22:35:28 EST From: Dave Lyons [By the way, the following info is contained in Apple II Miscellaneous Technical Note #7, Apple II Family Identification. You can download it from the ADV libraries under Apple Computer Releases.] $BF98 doesn't tell you whether you're on an Apple IIgs or not. The ROM signatures look just like an Apple IIe, and so does $BF98. Here's how you do it: SEC JSR $FE1F BCC Its-a-GS In other words, call $FE1F and a GS will clear the carry flag; all other models will just RTS without fiddling with the carry. There is *no* guaranteed way to identify an Apple IIgs by checking ROM signatures--you have to call $FE1F. (For completeness, I'll mention that if you're application running under GS/OS, it already knows it's on a GS! :-) --Dave Subj: BBB from prodos 8 1.4 <--> 1.7 89-07-24 01:36:36 EST From: PsychoPunk Msgs: 4 (89-07-24) How do I transfer Byrd's Better Bye (quit) program from an old prodos to a new prodos? I heard it was loaded into a card, and when needed, it is transfered to $1000 from whereever it was. How to a get it onto a newer version? Subj: Re: BBB from prodos 8 1.4 <--> 1 89-07-24 19:22:39 EST From: SteveL39 The best way is just to re-download it (It's pretty short) and re-install it in the new version. Subj: Re: BBB from prodos 8 1.4 <--> 1 89-07-24 20:50:47 EST From: PsychoPunk It is in Alink for downloading? Where? Subj: It's in the Utilities Forum.. 89-07-24 22:45:36 EST From: AFA Gary J Look in the Desk Accessories and Utilities Forum, in their software library, under ProDOS 8 Utilities/Program Selectors. You'll find it rather far down on the list, but it's there. Gary Subj: Changes on ProDOS 1.8 89-08-09 20:32:47 EST From: Mr Astro Msgs: 10 (89-08-21) What changes ("improvements") have been made for ProDOS 1.8? Subj: ...and BASIC.SYSTEM 1.3 89-08-09 20:34:23 EST From: Mr Astro ...and the changes on BASIC.SYSTEM 1.3 Also, why haven't these individual files been uploaded into the Apple System Software library? I wasn't about to download the entire GS5.0 disk just to get these off of it, so I downloaded ProDOS and BASIC.SYSTEM from CompuServe. Subj: Re: Changes on ProDOS 1.8 89-08-09 21:27:09 EST From: HyperRam Basic System 1.3 has a bug in it so DO NOT use it! Ram Stick with 1.2. Subj: changes (straight from ers's) 89-08-09 23:43:25 EST From: AFA Parik Fixes the infamous delete bug which caused a file to be left in a 1/2 deleted state if a I/O error occured anytime during the delete sequence. Fixes a bug where the online call did not mask off the unused high nibble of the unit_num parameter when deciding how many bytes to zero out in the user's data buffer. Sets the video firmware byte ($4FB) and calls SETVID ($FE93) if running on a GS. Guarantees blinking checkerboard cursor when basic.system is run. Expands loader portion in order to make room for a GS Quickdraw patch. QD would call gs/os without making sure its installed, patch installs code which is vectored into GS/OS entry points and returns errors for GS/OS calls. Only occurs when ProDOS 8 is booted from scratch. GS/OS compatibility byte has been changed. Basic System Changes -------------------- Fixes a problem with BSAVE that caused problems when saving a smaller file with the same name as a larger file. Fixes the bug in the Chain/Store that caused the system to bomb when exact multiples of 256 were chained from one program to the next. Added the "MTR" command to allow the user to enter the moniter by typing "MTR" as an option to CALL-151. Subj: Re: Changes on ProDOS 1.8 89-08-10 01:35:30 EST From: LVirden While there was a report of a BASIC bug in the beta testing, has anyone verified that the BASIC bug does indeed appear in a shrink-wrapped (hey Andy - is shrink trademarked ) version of SD 5.0? Subj: BASIC.System bug 89-08-10 20:57:20 EST From: Matt DTS I'll verify it. When BLOADing a file, if part of the file would fall into protected memory, BASIC.System should abort and generate a "No Buffers Available" message. Instead, due to a missing RTS, it falls through to the BSAVE code, replacing as much of it as can be written with whatever was in memory where you tried to BLOAD. If "No Buffers Available" is something you've never seen, you might be OK with 1.3. Otherwise, I recommend you back down to 1.2. The version of BASIC.System is unrelated to the rest of the OS; Although ProDOS 8 1.8 is required for GS/OS 3.0, any version of BASIC.System will so (although we suggest 1.2). Matt Deatherage Apple II Developer Technical Support Subj: Re: Changes on ProDOS 1.8 89-08-10 22:50:43 EST From: EdwardF4 Matt... regarding the missing RTS in Basic.System: can this be easily patched, or is a recompile necessary? If a patch is possible, then what is the location of the incorrect byte? :edward Subj: Re: Changes on ProDOS 1.8 89-08-11 20:53:06 EST From: Matt DTS It's not a byte that *should* be an RTS but isn't; it's a missing RTS. A patch is not appropriate. We're working on a solution. --Matt Subj: Re: Changes on ProDOS 1.8 89-08-18 18:40:16 EST From: Sound Guy Could you tell us the location anyway? I love to mess around with BI internals when I'm bored... :) BTW - Did anyone notice the free space that used to be in the BI from $BB4C-$BC79 isn't free anymore? Ahh well, no one ever really used it anyway... :) (And you certainly weren't supposed to if you did... :) Guy Subj: Re: Changes on ProDOS 1.8 89-08-21 21:47:57 EST From: Montagne Actually, it never was free in the first place! Everyone should take note that the word RESERVED means exactly that. Apple has reserved the area for it's future expansion of system features. This is neccessary because system software does not have the option of growing into areas historically made available to applications. This is especially true in bank zero. IF YOU SEE THE WORD RESERVED, DONT USE IT!!! RESERVED DOES NOT MEAN FREE!!! Ray (GS/OS Team) Subj: Prodos Books 89-09-03 15:17:57 EST From: John 2010 Msgs: 4 (89-09-06) What is the best Prodos book to get if you want to get into the operating system on a machine slevel. I'm talking about Prodos 8. I very knowledgable with the command so I do not need a beginners guide but more of programmer guide. Is Beneath Apple Prodos still the best one or is there something better? John2010 Subj: Re: Prodos Books 89-09-04 10:57:38 EST From: GRMORRISON John, I would recommend several. If you are interesting in using ProDOS 8 with BASIC then get a copy of Doms & Weisharrs ProDOS inside and out. Apple ProDOS for the Applesoft Basic programmer is also good. Gary Little's Apple ProDOS ADvanced Features for Programmers has a good explanation of MLI calls and ProDOS in general. He also has Exploring GS/OS and ProDOS 8 which is very good. I understand you can still get Beneath Apple ProDOS at some of the bookstores and mail order companies, however, I have heard that it is difficult to reach them by phone. Gary Subj: ProDOS books 89-09-05 20:33:59 EST From: Dave Lyons And, of course, let's don't forget the _ProDOS 8 Technical Reference Manual_, from Addison-Wesley. It's my favorite. And you definitely want to read all the ProDOS 8 Technical Notes, if you're doing serious ProDOS 8 programming. --Dave Subj: Re: OOOps 89-09-06 18:58:25 EST From: GRMORRISON Dave, give my appologies to Matt and others on the tech notes. I just consider them and the Tech manual as standard equipment, the others I list as books. Gary Subj: ProDOS 8 V1.8 89-10-01 15:10:11 EST From: SteveL39 Msgs: 3 (89-10-02) Is there any point in upgrading to 1.8 from 1.7? I know that there are new versions of SQUIRT and the no slot clock driver that have to be gotten along with it. What, if any, are the new features? Subj: Re: ProDOS 8 V1.8 89-10-01 23:43:00 EST From: AFA Gary J Steve, There were about 5 changes noted in the revision to V1.8 of ProDOS 8. These changes are documented in ProDOS 8 Technical Note #23, available in our Software Library (under Apple Computer Releases/Technical Notes/ProDOS). The most notable of these changes was the fix of a bug in the DESTROY MLI call (or delete, if you prefer) which could cause a volume to be trashed if the command was interrupted in some way. There was also a bug fix in the ONLINE call. The other changes were pretty much things that make ProDOS 8 and GS/OS get along better. Download the tech note in the library for more details. It also documents a complete revision history of all ProDOS versions. It's neat. Gary Subj: Re: ProDOS 8 V1.8 89-10-02 18:43:46 EST From: SteveL39 Ahh.. Thanks. I didn't know the new Technotes were in the library since the last set I got mailed at me is from May. :( Subj: ProDOS 8 vs ProDOS 16 89-09-27 18:55:53 EST From: PsychoPunk Msgs: 3 (89-09-30) I currently know all of the ProDOS 8 mli calls, and now that I have a IIgs, I might as well learn ProDOS 16 mli. What is the major difference to the programmer who programs in 16 than in 8? -Clint Subj: gs/os 89-09-27 20:30:51 EST From: AFA Parik Try larnin' GS/OS instead as its a lot cooler. You're gonna have to pick up either APDA's GS/OS reference volume 1 (vol 2 is recommended) * or * Gary Little's Programming With ProDOS 8 and GS/OS. The main difference's are that you can load into anywhere in memory, its faster, and the calls tend to be a bit more complex but with better results. Also what may seem like a collosal waste of space turns out to be a pretty good idea down the road. Subj: Re: ProDOS 8 vs ProDOS 16 89-09-30 08:47:26 EST From: AFL Dyfet As Parik already mentioned, most of what you would have learned from the ProDOS 8 MLI is simply expanded upon in GS/OS. Many of the same calls are present, except in many instances they now have extra options. Many new calls have been added as well. There are a few subtle differences, such as not having to worry about locating a file buffer for open, the fact that rename can move a file onto a different subdirectory, etc. Fundimentally, it is still ProDOS (or should that be SOS :). Dyfet Subj: Need ProDOS source 88-12-28 23:10:42 EST From: Stephen DJ Msgs: 8 (89-02-15) Does anyone know where I could get the source code for Prodos -- any 8-bit version? If none is available, I would even settle for a code 'run down' similar to that of Dos 3.3 found in the book "Beneath Apple Dos". Thanks Stephen Subj: Re: Need ProDOS source 88-12-29 01:24:50 EST From: AFA Parik Stephen, Quality Software sells source code to all major components of ProDOS, I'm sure the entire source code can be had from them. You can contact them at Quality Software 21610 Lassen #7 Chatsworth, CA 91311 Can't find a phone number :( You may also try sourcing out ProDOS 8 with Sourceror; packaged with Merlin 8/16. May be a bit tricky however since it is quite large. Subj: Re: Need ProDOS source 88-12-30 19:58:17 EST From: SamT2 Nibble ran a series of articles by Sandy Mossberg called Disassembly Lines where most if not all of ProDOS (1.1.1) was disassembled and discussed. Also there was a Beneath Apple ProDOS published by Quality. Sam Subj: Beneath Apple ProDOS 88-12-31 13:19:48 EST From: AFA Gary J From what I understand, you must purchase the book, "Beneath Apple ProDOS" from Quality Software in order to get the run down of the ProDOS source code. The book does not actually contain any source descriptions, however. You must send in a coupon in the book and order the source code descriptions separately. This is a departure from what Quality Software did in the Beneath Apple DOS book, as the source descriptions for DOS 3.3 were included with that book. Quality Software is doing it this way for ProDOS because of the need to keep up with constant updates of ProDOS (8 bit). As I said, you get a coupon inside the book to send in along with $10, and they will send you the source code DESCRIPTIONS for each memory address of ProDOS, *NOT* the actual source code. You must still print out the actual source in order to find out exactly what is going on. With the supplemental book, you get another coupon inside of it to order another supplement in case you want to update it to a newer version of ProDOS in t he future. The mailing address for Quality Software is: Quality Software 21601 Marilla Street Chatsworth, CA 91311 (818) 709-1721 I'm not sure how current this address is. If someone knows differently, let us know. Gary Subj: Re: Need ProDOS source 89-01-06 20:36:19 EST From: RTAFT Quality Software sells the "Supplement to Beneath Apple ProDOS". It will list the source address and the comment field for both, the ProDOS kernal and Basic.System. For the actual code, you must either dump it out. COPYIIPLUS will dump entire kernal to your printer (34 pages worth) from VIEW FILES section. If you use a Disassembler,like SOURCEROR, you will not be able to get the entire file in one shot. It's too big. I've had success with a shareware program called APTZAP, that will dump the kernal, with text values, in an 80 column version. It only took 17 pages. With the Supplement and this dump, I was able to follow through entire program. Rick Taft Subj: Re: Need ProDOS source 89-01-29 22:58:50 EST From: Matt DTS Uh, Rick, the last internal source printing I saw of P8 was laser printed, two 80-column pages per page (like Lister from the source code sampler does), and it was SIGNIFICANTLY more than 17 pages. Don't know how far I'd trust what you've got. And, of course, anything you have to find in the source that's not in any of the manuals or tech notes is subject to change and you shouldn't bet the farm on it. --Matt Subj: Re: Need ProDOS source 89-02-02 13:25:35 EST From: Dave HDS I know for awhile Apple was licensing source for Basic.System. Out of couriosity is this still available? As to ProDOS Kernal Source, I believe there was also a series of articles in the now defunct Assembly Lines which covered this (for ProDOS 1.0.1). Subj: Re: Need ProDOS source 89-02-15 22:36:00 EST From: RTAFT The 17 pages I got from 80 column listing of ProDOS kernal was strictly in dump form - no comments,etc. Each line was 16 bytes in hex plus text values for that hex. I can imagine that the official source code must be around 200-250 pages. Rick