APPLEUNI HISTORY FILE dates are EURO (DD/MM/YY) as they make sense! RELINFO DD/MM/YYYY Version 1.0 ??/??/???? Created stable serial emulation for AppleDOS 3.3 This version was NOT released. Version 1.1 21/03/1994 FIRST WORLD RELEASE! The serial card emulation works under AppleDOS 3.3, but it REFUSED to work under ProDOS... The version number was WRONG. 11.0?! OOPS!!! :) Version 1.2 21/07/1995 Hmmm, seems that day 21 is here again! ;) I *FINALLY* got some time to fix my Apple ][e! (The DISK ][ controller had bad chips!) It really helped me find where my Serial problem is! BUG SQUASHED!!! It seems as I was NOT putting the correct address in the emulator processor during a COM1 interrupt! Now fixed, works under ProDos now! Prodos Kermit works TOO! *BOTH* IN#2 and PR#2 work!!! Try it!!! I need to still fix the 'after kermit' bug... I'll have to see if it messes up the same way on my ][e! Included ROMS, transfer program and disclaimer. I REFUSE to make the driver use anything EXCPEPT COM1!!! Why? Well, shouldn't YOUR pc be set to the ORIGINAL PC STANDARDS??? Why do you think ALL communications software DEFAULTS to COM1?!?! (Like DUH!!!) This version was NOT released. Version 1.3 24/07/1995 *NEW FEATURE!* Implemented the switches on the super-serial card, seems I forgot to include them before... :-/ I need to create a user interface for the switches AND for the emulated disks... I think this will solve the 'reboot' problem. :-) I also now force AppleUni to check if you left any drives open (you didn't wait/hear a 'click' and pressed PrtScn!) This could have caused problems if you had data waiting to be written to the image, and it also would 'eat' file handles this way too... this makes AppleUni SAFER! This version was NOT released. Version 1.4 29/07/1995 *NEW FEATURE!* Please Read the AppleUNI docs! The Reason follows... Added a simple menu for the serial card! It allows you to toggle the dip-switches on the emulated card... SEE THE DOCUMENTATION on how to use it!!! I have plans for the disk menu to select different images... I discoverd a NASTY bug... if you DON'T have a disk in one of the floppy drives or there is a problem with accessing the host drive, AppleUni looks like it DIES! (Well, Actually it goes Abort, Retry, Fail... and you can't see it!) I have some code for it and it is ALMOST ready! Version 1.5 30/07/1995 *BUG SQUASHED!* OOPS! I forgot to enable the interrupts! (no echo) OOPS! looks like I forgot to include the CTS line on the serial card ($C082+$n0). Also looks like the switches don't do too much... Hmmm... why can't I change baud rate AFTER a PR#2:/RESET/switch/PR#2... (PR#2:PR#0/switch/PR#2 dosn't change baud on the //e, so...) It seems a little unstable... hmmm... only after access to the emulated serial card... interesting! This version was NOT released. Version 1.6 30/07/1995 *BUG SQUASHED!* AHHAH!!! I just CRUSHED that bug! Now the hardware reset works fine! I was just looking in the wrong part of memory for the data. :') I was looking in DS not ES! Woops! Maybe the next version will be stable when you forget to put a disk in one of the floppy drives or have a bad sector on a floppy/hard drive... other than that, it seems pretty stable, but I have to put in -=ALL=- the 65C02 instructions now to run the newer PRODOS 8 versions... Version 1.7 30/07/1995 *BUG SQUASHED!* *FEATURE ADDED* OOPS!!! looks like prodos does not like me changing the banner in the ROM! Old ROM supplied again... Looks like I forgot to put in the version # in my banner too... OOPS!!! Disk phasing was NOT correct for newer Prodos! I was deviding by 2 insted of 4! (Newer prodos can cope with bad aligned drives better... so this kind of disables it) 65C02 now COMPLETELY emulated! Undocumented Opcodes NOT implimented... YET! This version was NOT released. Version 1.8 01/08/1995 *BUG SQUASHED* *FEATURE ADDED* I do not know if this is a feature or a squashed bug! Disk emulation now GRACEFULLY handles HOST disk errors! (It just ignores them, and retries forever!) I switched the EGA orange back to yellow... for now. I have plans to scan for 'orange blue' combinations and setting them to white. this will give a much more 'realistic' display... I'll set the orange back to orange then too! A VGA version is planned... I don't know how long it will take to complete. I also have plans for disk image name selection. This version is an -=ALMOST COMPLETE=- emulator and is -=VERY=- stable! Version 1.9 07/08/1995 *2 BUGS SQUASHED*, *ANOTHER BUG FOUND* Well I finally did it... I squashed that NASTY BRK bug! any illeagal opcode will now be treated as a BRK, and the emulator won't crash... I have found another problem with the serial card emulation... It seems that KERMIT looks for RECIEVE -=AND=- TRANSMIT interrupts... (guess I will try to fix that one!!!) So, for now, use the SV-622 selection for the serial driver as it polls the chip for transmit, and works well! That driver ALSO works with the REAL super serial card. I'm not sure if the problem is with the serial emulation or if it's a problem with kermit on a ][+ using interrupts, because it has NO PROBLEMS when using the ROM! I also squashed another bug... If you wrote data to the emulated drive 2, and it was on a floppy, the emulator would lock-up! This was due to the stack filling up with interrupts because I didn't set a flag before calling the close routines... I was setting it AFTER! OOPS!!! Minor clean-ups, small modification to control panel, seems SUPER STABLE! Version 2.0nhd 16/08/1995 *BUG SQUASHED* I wasn't pushing a register but I was poping it... everytime you would get a serial interrupt... whamo... (well, almost everytime!) I have hard disk emulation available and WORKING!!! but it is NOT included in this version as I wish to make sure that it is stable! Sometimes it locks up... I'm sure it's as simple as a register getting stomped on, or a segment not set/reset properly... most stuff runs on it, but a whole lot doesn't... atleast slot scan works, but it does not report the drive sizes correctly... all formatters work GREAT but there is a catch... if I make a 280 block image, and format it, the formatter thinks that it's a Disk][ controller... it won't corrupt the data, but it sure does burn up the hard disk! :) the REAL nice thing about it is that it -=DOES NOT=- require any header info, and it auto-sizes the emulated disk in about 20 instructions, so there is NO OVERHEAD!!!! Sometimes it crashes when I would access the emulated floppy and hard disk at the same time (I.E. copying files to/from floppy to hard disk). Next step... the ability to change your disk images on the host through the menu... then... -==Enhanced //e==- emulation! that should keep me busy for a few days... ;) Version 2.01nhd 29/08/1995 *BUG SQUASHED* Seems that some OS, DOS Emulators and BIOS's tend to puke when scanning for COM1:!! So instead of exiting the emulator, I have the PC's serial port address default to 03f8h. The Serial port IRQ is -=ALWAYS=- IRQ4. Version 2.10nhd 06/09/1995 *NEW FEATURE* Now you can change disk image file names... your welcome in advance! :) Version 2.20nhd 16/09/1995 *NEW FEATURES* *BUG SQUASHED!* The new Features for this release are: 1: DISK TIMER IS GONE! It was causing some trouble as it took TOO LONG to close a file sometimes! See the documentation for the new information! 2: COLD BOOTS! (self explanitory) *BUG SQUASHED!* I wasn't looking in the right place for the floppy image info, and, hence if you tried to open an image that was READ ONLY it wouldn't open! Worse yet, the bug was ONLY on drive 1!!! (YIKES!) Version 2.30nhd 24/09/1995 *NEW FEATURE/BUG SQUASHED!* The new Feature/bug squash for this release is: Accurate disk time... it's in the main control panel! I don't know if it's a bug or feature, or both, but anyway, you now have the option to slow down the emulated disk rpms! Fast disk rotation speed is 119.9ms. Slow disk rotation is 199.9ms (close as I could get it!) so now all those "disk time sensitive" programs will work now... Hard disk emulation is getting better, once again, if you would like to test it, let me know via e-mail... This version was NOT released. Version 2.40nhd 25/09/1995 *NEW FEATURES!* Well, I changed the timing scheme... now we count cpu cycles to track the data ready for floppy... but it really runs like crap in the slow mode... it's amazing how adding a few opcodes degrades performance... oh well! *NEW FEATURE* IBM Joystick is NOW SUPPORTED! It auto calibrates as you use it, so when you start up your applications (GAMES ) you must push your joystick to all possible four corners to calibrate it... it ONLY calibrates when it is being accessed, but works nice anyways... now I wonder... should I put in a calibration option? maybe... maybe not... Version 2.50nhd 26/09/1995 *NEW FEATURE!* *BUG SQUASHED* *BUG SQUASHED* Woops! I let a 286 instruction slip in! This means that a XT without a NEC chip WILL crash! Also made joystick little better... still needs a tad of work though as I'm not really doing the intergers quite right when I devide... anyway, LITTLE BRICK OUT will let you re run now, so I guess that's an improvement. *NEW FEATURE!* now low res graphics can have those four lines of text on the bottom! the text comes out blue, but that's ok as a REAL Apple ][ tints the text. All that's left is text on high res, which should not be too tough to do but might slow down the emulator a bit when in split screen mode. Version 2.60nhd 01/10/1995 *BUG SQUASHED!* *NEW FEATURES!* *NEWS!* *CHATTER!* BUG SQUASED: I smushed that joystick bug! Seems I had OVERFLOW problems because of my lazy intergers... now joystick works PERFECTLY! (Your WELCOME!) NEW FEATURES: (HOW MUCH *CAN* I STUFF INTO 64K!!) Okay, here are the new features: Highres graphics display ALMOST correctly :) (Colors streched) Still needs improvement. Half dots on a border byte need to be WHITE! so it kinda still looks UGLY! All I have to do is look one byte backwords to correct this... oh-well, maybe in the NEXT version :) Text on bottom of split screens is now white (NOT REALISTIC!) NEWS: I'm going to be loading up MouseText for the EGA character set... I'm not sure how soon this will be! Sorry CGA users, There Is no real EASY way to do that on your adapter... *GET EGA already ;) *(Unless, it's a palm-top, of course! You know who you are!) Possibly within the next few versions I'll be supporting nybble images (.nib) but we'll see if I can fit it in... Looks like I may have to go MULTI SEGMENT soon! That will take LOTS of effort! CHATTER: The following chatter is not ment for all of you. (You know who you are!) C'mon! Where's the BUGS!!! Are there NONE to be found??? Seems *I* can crash it once in a while! (Sheesh!) Even if it works GREAT PLEASE let me hear a success story! Are you alive??? Dead??? What's the story! Does the disk slowdown work on your tough-nuts disks??? Version 2.70nhd 10/10/1995 *NEW FEATURES!* Lots of cleanups... got rid of a LOT of unused code! Emulator is now *HALF* the size it used to be! 65c02 section has been TOTALLY REWRITTEN! Randy Spurlocks code is almost TOTALLY GONE! Joystick still is not *absolutly* perfect on some faster computers... a fix is in the works, stay tuned... *NEW FEATURE!* Guess what? NYBBLE IMAGES are now supported! I'm not sure why, but -=SOMETIMES=- a write fails from good old pain in the neck ProDOS... I also spin the disk in 'real time' as per clock cycles (1 nybble/~32 clock cycles) and it seems to work pretty darn good... Writes fail under the 'rotate' scheme, but I'm working on that 'magic' number! *BUG* when exiting the Control panel with a hi-res screen we get garbage... for now, press [scroll lock] to clean the display... also, sometimes '@' signs appear at the bottom at boot time... I'll try to clean that up in the NEXT release! Please let me know if you have ANY other problems with the new nybble support! Version 2.71nhd 13/10/1995 *BUG SQUASHED!* Looks like Friday the 13th hit me! It seems that some video boards didn't like my newer video routines that played with some registers directly, so I removed that part, Although video is now more stable, the hi-res still spams when switching back from the menu... Press [scroll lock] to 'refreash' the high-res display untill I devise a different solution. The '@' problem should be fixed now too. This version was NOT released. Version 2.72nhd 14/10/1995 *BUG SQUASHED!* D'oh! I was stepping on myself! Looks like I was actually overwriting my own code! Menu problem fixed for EGA. This version was NOT released. Version 2.73nhd 15/10/1995 *BUG SQUASHED!* *NEW FEATURES!* I SQUASH those BUGS! Menu problem fixed for CGA. CGA split lowres/text was getting walked on too... CGA text/graphics was writing on the highres, making trash on the display. BOTH video rotines were over-writing themselves just like a virus would! YIKES! Glad that's fixed! NEW FEATURES: Aligned all the opcode routines to even addresses for speed. Added 'C' to command line option to FORCE use of CGA. This can be helpful if using an EGA card on a CGA monitor, or one of those naughty CGA cards the might THINK they can do EGA, but really can't! Added 'S' to command line to turn off ALL the noise in the emulator for those of you who are playing TAX-MAN at work. (Tisk, tisk! Shame on you! Next thing you know, I'll be asked to add a "boss" mode! Gee whiz...) Version 2.74nhd 18/10/1995 *BETTER COLORS!* *BUG SQUASHED?* Low resolution colors are VERY accurate on EGA/VGA now! I believe I have a solution for producing mouse text on *ALL* video levels (CGA/EGA)! Keyboard now does a paranoid set of DS as SOME PC's will SPAM the DS! It seems to occur on some PALM TOP PC's (LX100) and VERY FEW others. I also now duplicate mappings of some keys. This is for those really bizzarre keyboards lacking such keys. I plan to move the emulated 'joystick buttons' to function keys on the next version. The following keys react THE SAME: [PRINT SCREEN/SYSTEM REQUEST] - [F8] [SCROLL LOCK] - [F9] [NUM LOCK] - [F10] [CTRL][PAUSE/BREAK] - [CTRL][F9] (I have an XT that failed! Now Fixed! It has a weird keyboard!) This version only given to one person with that problem. Version 2.75nhd 23/10/1995 *Optimization* I haven't been feeling too well, so the development has been slow. Disk image data now rotates under the simulated disk head in REAL TIME now when slow disk option is enabled. This version was NOT released. Version 2.75nhd 24/10/1995 *Optimization* Okay... re-wrote the CPU again... still, it seems slow... but I have good Idea on how to speed it up! :) This version was NOT released. Version 2.76nhd 25/10/1995 *Internal Cleanups* Added some revision control to to code... and cleaned up the code alot. The revision control is mainly for internal use. Also added a happy little hacker message! Can you find it? ;) This version was NOT released. Version 2.77nhd 27/10/1995 *BUGS SQUASHED!* Ohhhh! I found out why earlier versions lock up on a keyboard that has extended keys! Although the problem isn't common, it was happening to me just a bit too much! So, I Fixed it! Fixed CGA problems too, but CGA on V/EGA is not completely compatable, and I'm not sure why. This version was NOT released. Version 2.78nhd 29/10/1995 *NEW FEATURES!* Oh-boy... re mapped keys... AGAIN! See APPLEUNI.DOC and JOYSTICK.DOC for the details. Added DEEP SLEEP for LX Palm top. Might be useful on other lap/palm-top PC's?? This version only given to one person with the sleep request for beta testing. Version 2.79hd 31/10/1995 *NEW FEATURES!* (pre alpha) Happy Halloween! *NEW FEATURE!* Hard disk! WHEEEE! :) see file helpme.doc for details! The hard disk routine introduced (revealed) a BUG in the floppy routines... It's fixed. *NEW FEATURE!* TEXT MODE status line! You can now see caps-lock and joystick states, update method, floppy and hard disk activity. This version was NOT released. Version 2.79hd 02/01/1996 *NEW FEATURES!* (beta) Happy New-year! *NEW FEATURE!* CPU real speed control. Pretty much attains a close aproximation of a real 6502 running at ~.98MHz! This is important for speech and other sound/video effects. *NEW FEATURE!* Swap floppy disk names for drives 1 & 2. This version was NOT released. Version 2.79.19hd 03/01/1996 *NEW FEATURES!* (2.80 pre-release) ***** this is the -=BASE=- package! ***** All upgrading from this point on requires this package and -=EVERY=- next package to upgrade correctly! I need all of you folks to test the emulator as I only have 3 computers here to test it with. Please let me know of any success stories or bugs via E-mail. Enjoy! Version 2.79.20hd 22/01/1996 *NEW FEATURES!* Added Monochrome VESA Super VGA! I get occasional Devide Overflow errors... Hmmmm... This version was NOT released. Version 2.79.21hd 24/01/1996 *BUG SQUASHED!* Squashed that Devide Overflow problem... I was calling an interrupt while the interrupt was already in progress in the background! (OOPS!) I think it's solid enough for my two Beta testers to try out seeing as this bug is smashed! This version was NOT released. Version 2.79.22hd 27/01/1996 *BUG SQUASHED!* *NEW FEATURES!* *BUG SQUASHED!* Woops! There was yet ANOTHER place I overlooked for the devide overflow problem! It's fixed now... Honest! *NEW FEATURES!* Green-monochorme mode (SVGA ONLY), Status line in SVGA mode for all video modes. Changed format of status line... See Documentation. This version was NOT released. Version 2.79.23hd 28/01/1996 *BUG SQUASHED!* *NEW FEATURES!* *BUG SQUASHED!* The iip.img file was corrupted at the end of the image. This has been repaired. *NEW FEATURE!* Color/Green selection on Main Control Panel! It selects color lowres, white text and white hi-res. Full color hi-res will be in SVGA in registered version ONLY! *NEW FEATURE!* Status line on bottom of SVGA! Looks AWESOME! I will be making an extra "modes" menu to hold the following settings: MONO/GREEN, Hard-disk En/Disable, Speed controls. I just think it needs to be organized better. This version was NOT released. Version 2.79.30hd 16/03/1996 *BUG SQUASHED!* A lot of time has passed, I think this version is stable enough to be released... *BUG SQUASHED!* Corrected memory/register corruption on memory writes... some instructions depended on AX being preserved... Thank you for finding this bug Takeo! Chatter... I have //e emulation nearing completion... just a few minor bugs remain, and 80 columns is not implimented yet... This code needs a line-by-line overhaul! I will be elmininating all the non-specific CGA/EGA code and merging it with the VGA code as such that we will end up with a better display in CGA/EGA and add MDA support. These changes will make the code *SMALLER* and faster while adding support for MDA! These changes will also make MDA/CGA/EGA look a heck of a lot more realistic! **** WATCH FOR IT! **** Version 2.79.31hd 24/02/1996 *BUGS SQUASHED!* *FEATURES ENHANCED!* *BUGS SQUASHED!* Corrected disk timing bug, and another segment problem that would cause the emulator to crash if it didn't find one of my test files! (Woops! sorry! :'-) *FEATURES ENHANCED!* Added timing accuracy on branch instructions, they seem to help with the disk timing! I will be patching the rest at a later date... 1/2 dot pixel shift... (*VGA MODE ONLY*) Version 2.79.32hd 01/04/1996 *NEW FEATURES!* All CGA and EGA code RIPPED out, new font added... VGA looks REALLY good now! This version was NOT released. Version 2.79.33 *BETA* 11/04/1996 *NEW FEATURES!* Menu moved to graphics mode. New CGA code implemented... I really reccomend running CGA mode on a composite monitor or television! It's so... REALISTIC!!! I *MIGHT* be able to add color on CGA... I'm checking on that now... it will require use of a television or composite monitor for color (if it works)! This version I leave in white... I could do it in green... The CGA code is *VERY* slow... but it works! I need to code the EGA now, which should be easy! Fonts need to be moved to thier own segment to free up ~12.1k for the EGA code and other improvemnets planned! This version was released to a beta tester only. Version 2.79.34 *BETA* 12/04/1996 *NEW FEATURES!* *BUGS SQUASHED!* *BUGS SQUASHED!* Mousetext is fixed, it works now. Fixed menu bug (typo in my data) Version 2.79.35 *BETA* 10/05/1996 *CODE CLEANED* Some minor clean-ups to the code. Version 2.79.36 *BETA* 19/06/1996 *REORGANIZATION PHASE 2* Reorganized how the display is drawn. SVGA enjoys a 10% speed increase! CGA gets >200% speed increase!!!!! EGA is not finished. Screen jitter caused by screen refresh method, to be fixed in a later version. Overall code size reduced due to tighter code, etc... This version was released to a beta tester only. Version 2.79.37 *BETA* 11/9/1996 Minor cleaups. NO EGA. Version 2.79.38 *BETA* 20/11/1996 *BUG SQUASHED* Various code clean ups Start of new EGA code Version 2.79.39 *BETA* 02/11/1997 Fixed a bug that crept back into the DISK code again! Reoganized the main Control Panel to be more intuitive and so that it makes more sense. Version 2.79.40 *BETA* 02/11/1997 *BUG SQUASHED* Fixed Matrox problem (and prolly other cards too) Version 2.79.41 *BETA* 02/11/1997 *WOOPS!* Rebuild due to HD crash that lost all the code. Version 2.79.42 *BETA* 06/10/1998 *WOOPS!* Yeah, some version numbers were lost. As such, so was the FTP and HTTP dirs :-( So I rolled out a new version. This one has all the VESA fixes for the newer cards (Matrox) etc... I do plan on starting up again on this pretty soon because winter is aproching and it is kinda tough to travel 80 some miles on ice... EACH DAY! So since I won't have the commute time anylonger, I can spend the two hours coding again. Please start sending the ideas.