Amperdos v1.0 (c) 1999 Kandi's Kreations {Intro} Welcome to Amperdos. A replacement for Basic.system. While Amperdos may not give you all the functionality of Basic.system it will give you some functionality that Basic.system doesn't offer. I created Amperdos because I wanted a basic environment that supported 128k. I never had the time before and/or the resources to do all this. Then came the internet and access to some Apple ][ info which I previously did not have. After I found the program RDOS for P8 and found the archives of Beagle Brothers programs I had the tools I needed. Many thanks to MM McFadden for RDOS. More thanks to the great programmers at Beagle Bros for creating such great programs and releasing them as freeware! Amperdos is basically a HACK! I did not create a whole new program but modified RDOS to meet my needs. The source for Amperdos has changed so much that it barely resembles the original but there is still a lot of the RDOS code in there. Unfortunately, this makes the code somewhat ugly. It really needs to be cleaned up more or even re-written. Due to the complexity of this task I have not undertaken it yet. So please don't laugh at the mess! Notes: I patched Extra K to work with Amperdos then converted it to a text file to be assembled into the source. This allows a single system file to be used on stand alone programs. Credit to Beagle Brothers is displayed at startup. Your STARTBASIC program should give adequate pause to display this credit. I also patched the program editor from the Program Writer series. I wanted to use the LC version but it conflicted with Extra K. So we're stuck with the standard version. This is not a problem since Amperdos programs can easily be chained together and there is still approximately 27k free while editing. The editor is not needed during program runs and stand alone applications so you may use this memory (with care) if needed for things like machine language code. The editor has it's own jmp vector and is patched to use it. It won't work under Basic.System because of this. Amperdos runs strictly by using the ampersand vector! You must remember this if you add other ampersand utilities. Most binaries of ampersand utilities will disconnect Amperdos. You can get around this by patching the utility to use the external vector in amperdos. See the source code. If you have the source for these utilities you should modify them to chain the Amperdos vector ie: store the address in Amperdos at a jmp location in your code then place your M/L address in the Amperdos extra vector. Amperdos was designed to allow external routines by using character tokens to define the type of function desired. This allows a programmer to use other Applesoft tokens in their m/l code. This makes the basic code look a little cryptic but allows for greater flexibility with other utilities. It also allows me to use the same tokens for different functions if needed. For example: AMPERDOS uses &=list - catalog current path YOUR CODE uses &list - whatever desired Thanks to the = token you can use the list token for whatever you want. Currently Amperdos only uses the = token and the ^ token. This may change later. If so I will try to use the ~ token or some other punctuation character. There are both advantages and disadvantages to using Amperdos: The disadvantages include: (but may not be limited to) Hardware requirements. Amperdos will not run on all Apples. Basic.system has some functionality which is not included or difficult to implement in Amperdos. Currently Amperdos reads text files one character at a time. This is a bit slow but I haven't taken the time to change the original code yet. Variables are stored in aux memory. This makes it a bit harder to code some m/l routines which access variables. There are simple ROM routines which can access them - see source code. Extra K doesn't clear the string space in the aux language card area. Normally this should not be a problem but you may need to keep this in mind. This is mainly important with garbage collection. Extra K does garbage collection itself! P8 functions require the filename be a quoted string or string variable. You get used to this though. This follows the Applesoft standards. If the quoted string is at the end of the line or the last command on the input line you can leave the trailing quote off. Has limited error checking. I am working on this but it may require the code to be rewritten. It does have some trapping but I can't remember what all it is at the moment. The advantages include: (but not limited to) Fast and simple program chaining. Simply &=run"nextprogram" all variables are passed intact! Note: The Applesoft RUN command will clear variables as expected! No character scanning like Dos 3.3 and Basic.system. This results in faster execution. Load your program wherever you want from $2000 to himem just by including the address in the run command. This could be useful for graphics programming. Himem is currently $B000 without the AMPED program loaded. You should probably check it if you need to load programs that high in memory. Uses it's own filetype code. It is listed as AMP in Amperdos but it really is the BA3 filetype. I used this one because I have never seen a BA3 file in a P8 disk directory. They may exist but aren't common. It will load (but not save or run) BAS files. This allows for converting Basic.System programs. Has functions to simplify screen access. I hope to add more. Defaults to 80 column. Most of the time this is what you want. It will also run in the extended 40 column mode which may be neccessary for graphics programs on standard composite monitors. Screen functions follow the VTAB/HTAB standard of screen locations. IE: 1..24 x 1..80. This allows you to do something like the following code and get the results you expect. 10 vt=10:ht=50 20 &^tab(vt,ht) 30 print "HI";:htab ht+5:print "THERE" Has a simple popup screen window to overlay a warning or such without damaging the screen when removed. See DEMO1 and DEMO2 Lots of free memory. About 60k for variables. See DEMO1. Is copyright by me but you may use it however you like! {Required Hardware} An Apple ][ with a 65c02 processor and 128k memory An 80 column card in slot 3 or an Apple emulator which meets these specifications I like ApplePc 2.52 for MSDOS. But beware. It has a bug in the keyboard code and sometimes gives the wrong key. (This doesn't seem to be happening as frequently on my Pentium II system. May be an old BIOS bug?) I like Apple Oasis for Windows. This program is shareware but offers the most configurability. It also offers the best support for printing since it uses the Windows printer! It does not have the best graphics output due to Windows but the text screen is great and you can even change the screen colors. I use white text on a blue background. I like KEGS (Apple //gs) emulator for Linux. This is actually my favorite emulator. But I like Linux too so I might be a bit biased. Kent still supports this program and has done an excellent job on //gs emulation. {MORE NOTES} I should probably add more documentation. If you are an Applesoft programmer. You have a good idea of how to use it. If you develop something useful with it please send me a copy. I am an avid Apple user and fan! Hopefully I will have a web site online someday to help Apple users around the world. Until then you should be able to EMAIL BluPhoenyx@aol.com. {CURRENT FUNCTIONS} *** Prodos Functions *** &=LIST or &=LIST"PATH" Catalog current directory or specified directory &=LOAD "PATH" or &=LOAD "PATH",ADDR Load an Amperdos program &=RUN "PATH" or &=RUN "PATH",ADDR Run an Amperdos program &=SAVE "PATH" Save an Amperdos Program. Deletes the original then saves! &=STORE "PATH",ADDR,LENGTH Bsave a section of memory &=CALL "PATH" Brun a machine code file &=RESTORE "PATH",ADDR Bload a binary image &=DEF "PATH" Create a text file &=PRINT "PATH" Open a text file for output. Use standard PRINT to write text &=READ "PATH" Open a text file for input. Use INPUT to read text. &=END Close a file. Actually closes all files but Amperdos only has one file open currently. &=DEL "PATH" Delete a file &=^ NUMBER Change drive number. Either 1 or 2 allowed. Sets Prefix &=* NUMBER Change slot number. Range 1-7. Sets Prefix &=/ "PATH" Change current P8 path. You must specify a path. don't use "/" or P8 will get confused! &=STOP Quit to Prodos. &=USR "PATH" Simple EXEC function. Currently cannot use Amperdos functions inside the exec file. This is mainly useful for loading a text version of a program. You should be able to create such a file like this. 1 &=DEF"TEMP.FILE":&=PRINT"TEMP.FILE":LIST 2-:&=END:END &=IN# NUMBER Read a block from disk. This is new and little tested. Block is loaded to the data buffer at $BB00. This function is provided for advanced programmers. See &=PR# &=PR# NUMBER Write a block to disk. This is new and little tested. Block is written from the data buffer located at $BB00. This function is dangerous and should NOT be used unless you know what you are doing. Nuf said! &=NEW "PATH" Create a subdirectory. *** Other Functions *** &^SCRN( TOP,LEFT,WIDTH,HEIGHT) Sets the text window. Easier than poking and uses the screen standards You don't have to remember to subtract 1 for the sizes! &^INVERSE Turn on mousetext! &^NORMAL Turn off mousetext. &^TAB(VT,HT) Sets the VTAB,HTAB cursor location. &PRINT TOP,LEFT,WIDTH,HEIGHT,STRING Display a popup window. See DEMO1 and DEMO2. This can be a bit tricky. I hope to add other screen window functions someday. Currently you can only display one window. &^LOAD "PATH" This is an oddball! I wanted to load Basic.system programs. {EVEN MORE NOTES} Amperdos is copyright 1999 by Kandi's Kreations. It is released under the same principals as the GNU license. The GNU license is not included due to limited disk space but you can find it all over the net! We reserve the right to make changes to the code without notification to anyone. If you have changes you would like to see in the system please send them to me so I can include them in the official release. Credit will be given where due! I know there is not much call for 8 bit Apple software. But I have always loved the Apple II systems. Even if we can't get support from Apple Inc. we can still get support from those who still use them. I intend to use mine till the system is dead! All I have left is my //c but I've aquired enough parts to keep it going till I die! This was my first ever computer so I guess I'm biased. :-) That's it for now. Enjoy Amperdos!