Gary from OPA Posted May 25, 2014 Share Posted May 25, 2014 (edited) We recently had a request in regard to this, back in the early '90s we wrote an improved powerup DSR for DIJIT AVPC cards that contained a V9938 chip. This card unlike our TIM or the earlier Mechatronic sidecar installed in the PEB, and because the GROM's have errors in the way they setup the video if you using a chip other then 9918/28 (TI didn't follow their own specs. in masking unused bits) these devices needed a way to override those errors on powerup, and when launching TI Basic so the DSR tries to do it, and then re-check on each VDP interrupt. But the original was not perfect as such we sat down and improved it, and this release contains all the versions, plus a neat 'video testing' program and hopefully the release will be useful for those wishing to emulate the card or wanting to burn themselves an eprom containing our improved DSR. Please Visit This Link For The File: http://o-p-a.biz/avpc/ Enjoy! ********************************** * O-P-A (Oasis Pensive Abacutors) * * * * Public Release AVPC Source Code * * * * Original Coded from 1988 - 1993 * * * * Release Done on May 24th, 2014 * * * * Long Live The TI99/4A & GENEVE * *********************************** The Dijit Systems Advanced Video Processor Card (AVPC) was an 80 Column card that fit into the PEB. Along with a suitable RGB monitor turned the TI-99/4A console into a 80 Column device. For More Info on this card please see here: http://www.mainbyte.com/ti99/hardware/peb/avpc.html There was only one problem the original TI99 Operating System on powerup writes the registers in such a way that it was incompatible with the new register setup of the upgraded V9938 system, so DIJIT Systems designed a special power-up DSR located on the card's EEPROM that tries to correct this error, but their layout was not perfect as such we wrote a improved DSR version for others! Inside this archive, you will find the following files: AVPC010-S - Original DSR EPROM coded by DIJIT AVPC020-S - The First Improved Version by OPA AVPC030-S - The Commerical Release of new DSR AVPC032-S - Newer 3.2 Update But Not Released AVPCSOB-S - Custom Version for those with SOB SET994A-S - Code to set 994A mode in XB Progs V9958-S - Super-Cart Program to Test Video! BackupV9T9.zip - The above files in TI Format! Release Rules are simple, you are free to study and improved this code to use on your Card or to emulate it. Just please remember to give correct credit to the original source of this set of Assembly files! Thanks, for more information please contact via the following: Our Website: http://www.O-P-A.biz Our Email: support@o-p-a.biz Or visit one of these two forums, contact me 'GaryOPA' or start a thread: My Video Gaming News & Forums: http://www.maxconsole.com/maxcon_forums/ The Best TI Programming Place: http://atariage.com/forums/forum/119-ti-994a-programming/ -=( Gary from O.P.A. )=- Edited May 25, 2014 by Gary from OPA 4 Quote Link to comment Share on other sites More sharing options...
RXB Posted May 25, 2014 Share Posted May 25, 2014 Cool thanks. Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted May 25, 2014 Share Posted May 25, 2014 Thanks, Gary. I'll have to update the DSR on my AVPC and test this out. . . Quote Link to comment Share on other sites More sharing options...
atrax27407 Posted May 25, 2014 Share Posted May 25, 2014 Where does Tony Knerr's update fit in? I have been sing it for years without incident. Quote Link to comment Share on other sites More sharing options...
Gazoo Posted May 25, 2014 Share Posted May 25, 2014 (edited) Where does Tony Knerr's update fit in? I have been sing it for years without incident. Actually, looking at the source code in these files, version 032 looks to be better than what I did. I like it. The SOB version appears to have an error, the line JNE INTRT-2 points to a non-existant destination. It probably should read JNE INTRT Actually, if you have the ability to correct the VDP registers by replacing the code in Grom0 with a device such as the SOB or HSGPL, you're better off running with no eprom and a jumper wire to connect the VDP interrupt line on the AVPC card directly to the VDP interrupt in the console. I had a system set up like that with the RAVE Pbox for a number of years that worked like a champ. I also put the contents of the Personality Card hard drive system in that same Rave box. Other items of note in it were the SOB board in the console with a TKGROM0 eprom, a PGRAM card, a Rave speech card, and a Myarc FDC with 80 track eprom. Shame I took it apart. Gazoo Edited May 25, 2014 by Gazoo Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted May 25, 2014 Share Posted May 25, 2014 The SOB version appears to have an error, the line JNE INTRT-2 points to a non-existant destination. It probably should read JNE INTRT Gazoo The jump probably looks wrong because it is to the opcode "hidden" as "0x045B". Quote Link to comment Share on other sites More sharing options...
atrax27407 Posted May 25, 2014 Share Posted May 25, 2014 Gazoo, What would be the advantage of using Vn 032 instead of your version? Quote Link to comment Share on other sites More sharing options...
Gary from OPA Posted May 25, 2014 Author Share Posted May 25, 2014 The jump probably looks wrong because it is to the opcode "hidden" as "0x045B". Over the years I done some very tricky assembly, wait until you see some of my bigger public releases. If you want to see some good coding look at the V9958-S file and see how it does its graphics with nothing but plain math add and sub no mpy or div or floating point. Quote Link to comment Share on other sites More sharing options...
RXB Posted May 26, 2014 Share Posted May 26, 2014 This would make an old 80 column RXB project possible. A 9938 or 9958 RXB using 4 times the graphics screens for XB in a TI or a Geneve. Would allow multiple character sets. Instead of 256 characters, we could have 1024 or more easy in XB. String and program VDP memory could be 32K instead of the current 10k limit. More buffer space also. Even with all that would leave 80K for Graphics. Quote Link to comment Share on other sites More sharing options...
Gazoo Posted May 26, 2014 Share Posted May 26, 2014 The jump probably looks wrong because it is to the opcode "hidden" as "0x045B". Oh, so it's 'minus 2' and not INTRT "dash" 2. Hard to tell the difference... Gazoo Quote Link to comment Share on other sites More sharing options...
Gary from OPA Posted May 26, 2014 Author Share Posted May 26, 2014 Oh, so it's 'minus 2' and not INTRT "dash" 2. Hard to tell the difference... Gazoo Well TI99's assembler is two-pass one, which means you get the luxury of doing wonderful math operations on labels. So like INTRT-2 points the jump two bytes before the actual label, or something like @5*2+DSRWS really is using the R5 location of the set of previous or future workspace registers, which are not currently loaded. Makes it easier to follow instead of labeling every point you need access to like in line-by-line assembler, one pass compiler. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.