-
Content Count
2,104 -
Joined
-
Last visited
-
Days Won
3
Content Type
Profiles
Member Map
Forums
Blogs
Gallery
Calendar
Store
Everything posted by acadiel
-
Or better yet, the new 512K ROM cart. Imagine what you could put in there. The copy from cart ROM to VDP or 32K to execute is very fast (it shocked me when I did it with Never Lander the first time on a real system). All you have to do is write to an address segment to select an 8K segment, roll a loop to read and copy the data, and do it again if you need more. If RXB is aware of it, and we could mix some of the XB ROM space with some of the bank switched ROM space (without XB crashing due to lack of some of its ROM routines), we could probably build in some pretty nice support stuff directly into the 512K ROM space for use with XB as well.
-
Paolo did an excellent job with TI99-PC, and then contributed his work to Omiflop. Omniflop can read every TI floppy variant on a PC thanks to him. http://www.shlock.co.uk/Utils/OmniFlop/User%20Guide.htm
-
I have utmost respect for Tursi and his work. He is truly awesome.
-
Or you can also just copy it from ROM to 32K like Tursi and I did with Arcturus, DM2K, Never-Lander, etc and then branch and execute. Will work with a bank switched ROM cart that way.
-
Sorry I crashed your topic, retroclouds :)
-
Sorry, no TI photos here, but the earliest ones I have are of me (somewhat geeky ones, I might add) with my Amigas. December 1991, with my A500. Notice the TI printer below, which was actually the only printer I used for a while. June 1993 - my Amiga 600 (right after I graduated high school): Fall 1993, first semester in seminary: Spring 1994: My Amiga 600 and my new Amiga 1200.... 1995 - Second year of seminary. Yes, the glasses were overkill. I'm somewhat embarrassed by this picture today. Oh yeah... the A1200 got on the front page of the newspaper in summer of 1995 in Louisiana. Again, with the embarrassing glasses. The guy didn't name the TI-99/4A by name (I made sure to tell him what it was)... and, the network was a bunch of serial ports (over phone wire, I might add), with which we used a switch box and Terminus on the Amigas. Sister's room had the A600, my room had the A1200, and we had an A500 in my brothers' room, and we could stealthily talk to each other. Might have another few pictures of the Amiga laying around (or even... gasp.. the Toshiba 400CS laptop I moved to in Spring 1997), but those are for another day. 1983-1991 was a good run for me and my TI-99/4A, and 1991-1997 was a good run for the Amiga. Moved to Wintel systems from 1997-2003, and have primarily used my Mac systems from 2003-present (longest run of any type system I've ever used, 10 years.) Jon
-
Help needed ... old revision of Classic99 for Linux
acadiel replied to Retrospect's topic in TI-99/4A Computers
I just used the latest Crossover and Classic99 here on OS X (10. , and I was able to play a decent game of Parsec on it. The speech sounds horrible, but the game played OK. (There was an issue periodically where I had to fire before I could move up or down, but really no other quirks.) Heh, and I just tried the "crash into the ground and get warped" trick. Got all the swoopers, and then instead of the last one, got a killer satellite. And then a few more. And, then the level stayed yellow, but it was a "three hit" stage. Cool. Never tried that before! -
If you make a least one order with them, you can then pay them $60 or so for the Gerber files.
-
Glad I have the old nanoPEB. I haven't tried Telco on it yet though. Loved that old program. It would rock if the 40/80 column setting could be hacked to work with the F18A.
-
My old BBS lives on in my Amiga's WinUAE disk image. Hehe... Farpoint Station BBS - 1995-1998, RIP.
-
I'll take one... if you guys are designing it with through hole components, I'll assemble it myself. If not, and it still has SMT components, I'd like it assembled. (Can you tell I hate SMT stuff? My hands are much too big and I fat finger SMT stuff typically.)
-
Yep. I used a 512MB in mine but only partitioned the max available. I have pictures on hexbus.com (start with this one and look at the next few.): http://hexbus.com/TI-99_4A_Home_Computer_Page/Hardware_Projects.html#44
-
I have them on hexbus.com as well: http://hexbus.com/pergrem/ They are not linked anywhere.
-
I'm familiar with the ROM side... it'll be simply 64 x 8K banks, accessible by writing to >6000 to >607E. It's a 49F040 flash chip, PLCC form factor. Ksarul bought a boatload of 49F040's and 74LS378's for us, so divvied up they will be only add a small amount to the total price. User programmable by any modern EEPROM programmer that can handle a PLCC chip (or a DIP programmer with a PLCC adapter. Don't skimp... the eBay budget ones are really sucky!) We decided to non invert this time, we're using a 74LS378 instead of a 74LS379. 6 lines to toggle, I believe, address lines A9 to A14. The manual will have a nice chart about which address lines related to which bank to write to, and also list the bank number. Typical power up behavior is the lowest bank. I'll verify with Ksarul's batch of 74LS378's when he gets them in that this is the case still. (It isn't guaranteed, so typically, we put bank switch coding the explicitly can switch to the first bank, i.e. for copying to 32K, etc.) All that is needed to take current carts that have been made with 128K/256K/512K EPROMs on the inverted 74LS379 boards is simply invert all the 8K banks. Yep, just swap them out from TOP->BOTTOM to BOTTOM->TOP. Write it, and you have a working EEPROM With this new board. (Note that the only 128K ROM that I'm aware of is F. G. Kaal's Megamod 2010. The only 512K ROM I'm aware of is a multicart image that Tursi and I got working.) You can duplicate a 128K EEPROM four times in the 512K chips just for kicks and grins. Or a 16K program thirty two times. Whatever floats your boat... if the program is written correctly, it shouldn't matter that it only used 16K out of the 512K. Note that in the case of XB (where only half of the 8K is banked on a write to ROM), we can simply write the whole 8K again with the part of the 4K that it's expecting as well as the static other 4K of ROM. We didn't implement 4K switching with this design.
-
Some guy on eBay has a lot of 100 378's for $33 + $10 shipping... $0.43/ea - not bad since Mouser wants $1.88/ea. http://compare.ebay.com/like/140981430760?var=lv<yp=AllFixedPriceItemTypes&var=sbar
-
We can do ExpressPCB again.. but I'm all for getting them made by someone like ACC. That was so much a time saver - they even put them in ASD bubble wrap Well worth the few bucks having them assembled vs making folks have to solder them, and plus the part picking/packing time. I did have to put in my own 74LS379's into 250 of those suckers before they bagged them though... that way they could "release" them to me as RoHS compliant.
-
The last board houses we used were ExpressPCB and PCBExpress (through ACC Electronix, who assembled the last batch for both for Matthew and myself.) I'd be leery about going through another provider if we can; the above two have done extremely good work for us. 100 boards (a small amount) was $490 back in 2010 from ExpressPCB. Plus the costs of the components, sockets, etc. I'd have to look what ACC Electronix charged me, but I thought it was pretty competitive for an assembled product; trying to pick all the products, etc, was not worth it when they could assemble it for $1 or $2. I think it was around $10/ea assembled for 250 if I'm not mistaken, plus the cost of the 74LS379 and the cost for the cartridge shells (and postage), so I believe I pretty much almost broke even on them. So, if we want to ballpark on $10-$12/ea (cost, not the 74LS378, nor the AtMega 1284, nor cart shells) assembled, or $15 with everything but the AtMega and shells, I think that's probably a more reasonable effort. Ksarul ordered some production cart boards like the one I have above; if it works, he can get the Gerber files for $60 and we can spread the cost for that among the cart boards.
-
And here is the 512K Bank Switched part working. The board in the video is the board that we would ship if we made some. It uses a 49F040 EPROM (512K), 74LS378 (bank switches 6 lines), and the ATMega with Tursi's GROM emulation. http://www.youtube.com/watch?v=7IL5MKk7UbA I just need to verify operation of the ROM with Tursi's program that checks all ATMega functionality while a fully filled 512K ROM is in the board. (The program ends up erasing itself from the ATMega when done.) I have no qualms about it working, it's probably just a formality. I believe the documentation (between Ksarul, myself, and Tursi) is pretty much complete. Tursi is currently working (I think) on a loader so that you can load GROM banks onto the board easily. I believe that it would probably work something like a GRAM kracker. However, you would be responsible for burning the ROM part yourself (i.e. like discussed previously, the ROM part is permanent.) So, yes, theoretically RXB (ROM + GROM), and unreleased carts (GROM) like Plant Genetics, Pinnochio, Von Drake, and Peter Pan (and rare ones such as Demo and Diagnostic) can very easily be used on this board. I'd say we name it the TIduino, but we might get slapped by the Arduino project as well as TI. LOL.
-
Yeah, it's in my inbox still... Sorry bout that. I will likely have some time this weekend... I'm going to migrate the kids into the basement and make them clean it, so I can do this AND watch them to make sure they clean
-
How to build a superspace II cartridge?
acadiel replied to retroclouds's topic in TI-99/4A Development
Hehe... whoops. I'll probably get outbid. I just wanted the cart to look at the circuitry and try to figure out how the PAL worked. Maybe I should sell my DataBiotics carts... I have quite a few of them. SpotShot and DragonFlyer are the same thing; I wonder why they marketed multiple games under different titles. There is some insane person on eBay trying to sell extremely common carts for like $49.95, though. I just look at that and shake my head. -
How to build a superspace II cartridge?
acadiel replied to retroclouds's topic in TI-99/4A Development
Heh, I'm bidding on it. Probably why the price is up. -
Here's the source for the header for DM2K/DU2K/CF2K - a 128K bank switched "copy to 32K" cart. Credits to Tursi and Stuart for helping with this a while back. * THREE PROGRAM HEADER FOR 64K BANKED * SWITCHED CART DEF SFIRST,SLAST,SLOAD UNL * ROM HEADER AORG >6000 SFIRST EQU $ SLOAD EQU $ GRMHDR BYTE >AA,1,1,0,0,0 DATA PROG3 BYTE 0,0,0,0,0,0,0,0 PROG3 DATA PROG2 DATA DU2K BYTE 8 TEXT 'DU2K 2.0' EVEN PROG2 DATA PROG DATA DM2K BYTE 8 TEXT 'DM2K 2.4' EVEN PROG DATA 0 DATA CF2K BYTE 8 TEXT 'CF2K 1.4' EVEN *************** * Copy Data for Modules * * Format is: * First, the address to load for the first source bank. * Number of 32-bit words, source address, target address * To end list, provide a start address greater than >8000 * (This means you can't start in the low RAM bank) *************** CF2KDT DATA >6000 DATA >076A,>6258,>A000,>076A,>6258,>BDA8 DATA >076A,>6258,>DB50,>04C0,>6D00,>2000 DATA >A000 DM2KDT DATA >6008 DATA >072A,>6358,>A000,>072A,>6358,>BCA8 DATA >072A,>6358,>D950,>0300,>7400,>2000 DATA >A000 DU2KDT DATA >6010 DATA >0794,>61B0,>A000,>0794,>61B0,>BE50 DATA >0794,>61B0,>DCA0,>0400,>7000,>2000 DATA >A000 *************** * CF2K Module * *************** CF2K LWPI >8300 LI R14,CF2KDT * address of copy table JMP COPYLP *************** * DM2K Module * *************** DM2K LWPI >8300 LI R14,DM2KDT * address of copy table JMP COPYLP *************** * DU2K Module * *************** DU2K LWPI >8300 LI R14,DU2KDT * address of copy table JMP COPYLP *************** * Common Code * *************** COPYLP BL @GOGO * Set up Char Sets MOV *R14+,R7 * get bank ONEBLK MOV *R14+,R4 * Get bytes divided by 4 JGT CONT * Branch if positive (less than >8000) B *R4 * Else it's the jump address, so start the program CONT MOV *R14+,R9 * Address to copy from MOV *R14+,R10 * Address to copy to BL @COPYME * COPY IT! INCT R7 * Next Bank JMP ONEBLK **************** * Copy Routine * **************** * R4 - Bytes Div 4 * R7 - Bank switch address * R9 - Address to copy from * R10 - Address to copy to * R11 - Return spot COPYME MOV R0,*R7 * Do the bank switch LOOPIT MOV *R9+,*R10+ MOV *R9+,*R10+ DEC R4 JNE LOOPIT B *R11 * We're done. **************************** * Load lower case charsets * **************************** * Note, if you still need space, you can remove support for the * 99/4 by deleting the code marked between * +++ 99/4 support +++ begin/end * blocks GOGO MOV R11,R9 * Save our return spot * +++ 99/4 support begin +++ * load R3 with 6 for 99/4, or 7 for 99/4A CLR R0 BL @GPLSET BL @GETGPL * read GROM >0000 LI R3,7 CI R0,>AA01 * 99/4 is AA01, all versions of 99/4A seem to be AA02 (even 2.2!) JNE IS4A * note we also assume unknown is 99/4A just to be safe DEC R3 * make a copy of the capitals for the 99/4 to 'support' lowercase * this will be partially overwritten by the main set, but it works! LI R0,>0018 * GPL vector address LI R1,>4A00 * dest in VDP - must OR with >4000 for write LI R2,>0040 * how many chars BL @GPLVDP * this function goes somewhere later in your ROM JMP MNSET * +++ 99/4 support end +++ * If you delete the above block, replace with * LI R3,7 * so that the character size counter is still valid IS4A * 'lowercase' letters LI R0,>004A * GPL vector address (not available for 99/4) LI R1,>4B00 * dest in VDP - must OR with >4000 for write LI R2,>001F * how many chars BL @GPLVDP * this function goes somewhere later in your ROM * main set MNSET LI R0,>0018 * GPL vector address LI R1,>4900 * dest in VDP - must OR with >4000 for write LI R2,>0040 * how many chars BL @GPLVDP * this function goes somewhere later in your ROM B *R9 * RETURN TO CALLER ***************** * GROM routines * ***************** * Set GROM address GPLSET MOVB R0,@>9C02 SWPB R0 MOVB R0,@>9C02 B *R11 * Get a word from GPL GETGPL MOVB @>9800,R0 SWPB R0 MOVB @>9800,R0 SWPB R0 B *R11 * Copy R2 characters from a GPL copy function vectored at * R0 to VDP R1. GPL vector must be a B or BR and * the first actual instruction must be a DEST with an * immediate operand. Set R3 to 6 for 99/4 (6 byte characters) * or 7 for a 99/4A (7 byte characters) GPLVDP MOV R11,R10 * save return address BL @GPLSET * set GROM address BL @GETGPL * Get branch instruction (not verified!) ANDI R0,>1FFF * mask out instruction part AI R0,3 * skip instruction and destination BL @GPLSET * set new GROM address BL @GETGPL * get actual address of the table BL @GPLSET * and set that GROM address - GROM is now ready! SWPB R1 * assume VDP is already prepared for write to save space MOVB R1,@>8C02 SWPB R1 MOVB R1,@>8C02 * VDP is now ready! CLR R0 LP8 MOVB R0,@>8C00 * pad the top of the char with a space MOV R3,R0 * then copy 7 (or 6) bytes * +++ 99/4 support begin +++ CI R3,6 * check for 99/4 JNE LP9 MOVB R0,@>8C00 * extra blank line for 99/4 * +++ 99/4 support end +++ * no changes needed if this block removed LP9 MOVB @>9800,@>8C00 * copy a byte (both sides autoincrement) DEC R0 JNE LP9 DEC R2 * next character JNE LP8 B *R10 FINISH EQU $ SLAST END
-
Yep! Works great for his emulator as a quick and dirty way of copying an EA/5 program to 32K and then running it. It also worked when I moved his "GROMs" over to my HSGPL - I was able to play his PSG sound "cartridge" on a real TI-99/4A. The other way to accomplish this is to split the EA/5 executables up and copy the segments to 32K in the cartridge and then start the program directly by branching to >A000. See here: http://www.avjd51.dsl.pipex.com/ti/ti.htm#bank_switching That's how I made the Neverlander, CF2K, DU2K, and DM2K cartridges. They simply use the EPROM to copy the executable to 32K (>2000 and >A000) and then run it! So, both methods work, and have their place. Tursi's storing the bits in GROM and then copying them work well with the program he wrote. My method means that I had to take the split program file images, strip the heads off, combine them, and then split them into ~7K chunks with a bank switch header on top of them that copied them each successively to the appropriate place in 32K. Harder to do, but really the only thing we could do since we were operating from ROM space and didn't have GROM emulation on the carts. Ask Fred Kaal - he got the hang of doing it to update his programs' cartridge EPROM :-)
-
And he's been doing an excellent job of it too! I need to burn that diag program to my spare 1284 and run it through its paces... just didn't have time this weekend.
-
Yes, that's exactly what John Phillips did. ftp://whtech.com/games/John%20Phillips%20games%20&%20source%20code/Strike%203%20development%20notes.pdf
