Jump to content
IGNORED

512K Cartridge Status


Ksarul

Recommended Posts

Nice troubleshooting so far! Dano! and Gazoo are going to be experts on this cartridge by the time they're done. :)

 

Well, I've learned a ton in the past month or so on this and I'm super happy to help in anyway because it will help re-enforce concepts that I never have fully understood and will help me in my goal of learning digital electronics that I started way back in high school and dropped for a different career path (which I kinda regret now).

 

Thanks to all that have put so much energy in this and to let some dreamers in on it - even if we (me) aren't fully capable of low level assistance.

Link to comment
Share on other sites

Forgot to hit this one. To change ROM banks, just write to different addresses in ROM. 512k has 64 banks, and each bank is spaced two apart, so each even entry from >6000 to >603E should give a different bank. My demo ROM is only 128k repeated four times, so for it the last different bank would be at >601E. Write any value, and it will change the bank.

 

Sweet, thank you! I gotta fiddle with that now. :-)))

Link to comment
Share on other sites

One thing I forgot to mention the other day.

 

I was going through some documentation on AVR Studio and they talk about calibrating the internal RC oscillator. Which, they state is needed if you are planning on timing critical events using the internal clock. They say that in order to use the calibration bit, it needs to be set in EEPROM and has to be read by software in order to correctly utilize it.

 

Would this have anything to do with the odd interaction of the AVR and the external 49C040?

 

Here's an example doc from Atmel (although this wasn't the one I was looking at before but you'll get the picture).

 

http://www.atmel.com/Images/doc2555.pdf

 

Just throwing some thoughts out there...

Link to comment
Share on other sites

If the CALL MENU command doesn't work, try this.

Even if it does work, try this anyway. :)

 

Attached is a .dsk image. Convert it to a real floppy and put it in drive 1. Select XB v2.7 and it will run the LOAD program on the disk.

The menu should run.

 

Let me know what works and what doesn't.

 

Thanks!

 

Gazoo

 

[deleted attachment=347639:632KCART.dsk]

Edited by Gazoo
Link to comment
Share on other sites

 

Looks as if the Grom powerup header isn't working. Try taking the Rom chip off the board to see if that's interfering with the Grom powerup.

You should get a menu screen with 26 choices if the Grom part of the cart is working correctly. Only TI Writer/Assembler and Disk Manager 2 will work, though.

 

Gazoo

 

Ok, finally getting back to this, my apologies. I care for my parents so they come first in the scheme of things.

 

Anyhow, this tests produces the same results as previous test did. Same menu options (2 - XB v2.7, 3 - Review Module Library), same blue screen, same soft lock when choosing option 2. And option 3 for review does the same, lock up, sound generator solid.

 

Moving on to the next test.

 

EDIT: IGNORE THIS MESSAGE - I THINK I USED THE OLD FLASH FILE ON THE TEST

Edited by CantStopClicking
Link to comment
Share on other sites

 

Looks as if the Grom powerup header isn't working. Try taking the Rom chip off the board to see if that's interfering with the Grom powerup.

You should get a menu screen with 26 choices if the Grom part of the cart is working correctly. Only TI Writer/Assembler and Disk Manager 2 will work, though.

 

Gazoo

 

(UPDATE: Just to clarify, these results are without the ROM chip installed)

 

Test File EEprom.hex (which I'm going to call it xxxtest_4) This is the EEprom.hex file of the EEprom1.hex pair;

 

post-30710-0-38946400-1404091063_thumb.jpg

post-30710-0-11962300-1404091074_thumb.jpg

 

Test file EEprom1.hex;

post-30710-0-53958100-1404091173_thumb.jpg

 

Now this one is interesting! It by-passed the TI Color Bar screen and went straight to the A-Z menu.

 

I'll test each item and report back after some food! I can see things are going to get fun here quick! :-))

Never mind, I realize testing the other options are pointless without the ROM (like Gazoo said, duh...) Well, except for option Z - TI Basic (which does work too btw)

 

UPDATE: Menu Options B - TIW and C - DMII do seem to function. TIW+EA has a few oddities, got a DSR error using #5 RUN (not #6 RUN PROGRAM FILE - which worked as expected)

 

be back with more results...

Edited by CantStopClicking
  • Like 1
Link to comment
Share on other sites

ok I did your latest.. boot without 512kprom (just atmel) and it gets me the ti basic, extended basic 2.7 startup menu, if i select 2 it locks but i can ftn =

enter 1 for tibasic.. call menu.. gets the menu

 

selecting extended basic there works.. but not much else

 

Greg

 

Ok programmed the flash 512k installed it and the rest of the menu is working :)

Greg

Link to comment
Share on other sites

 

Ok programmed the flash 512k installed it and the rest of the menu is working :)

Greg

 

and now if I hit 2 for extended basic 2.7 it loads the cfmanager off my nanopeb.. interesting oh because there's a LOAD file on disk1.. makes sense running extended basic with that would do that.. long as I don't call menu xb2.7 works now with the rom installed

 

Greg

Link to comment
Share on other sites

I'm regressing my testing. And trying to create a little spreadsheet with the tests and results. I think I'm losing my mind with file versions. I'm relying on CRC's (that I'm remembering in my head - bad idea).

 

My last test I re-ran because my flash got corrupted somehow (or I did something stupid in my brain dead state - very possible).

 

I re-inserted the ROM (49c040) but this time I decided NOT to fully seat it, I just pressed it in to be even with the top of the PLCC socket, and all of a sudden things started working.

 

This is with the file set from Gazoo with EEprom.bin and EEprom1.bin pair (which I converted to hex - so if you see me state .hex instead of .bin they're the same)

 

RFC: Is it possible we can put some version numbers on the zip's that are being uploaded, that would help my organization and threads of testing, and correlation of results back to here (AA)? Just looking for unique names so we're (me) not getting confused on which tests are producing which results with which files.

 

EDIT: I'm really only after the unique filename for the zip archive, so I can try and keep a incremental changelog. Just something simple like _1, _2, or whatever cuz once downloaded and sitting in a directory, order is gone.

 

More testing....

Edited by CantStopClicking
Link to comment
Share on other sites

 

and now if I hit 2 for extended basic 2.7 it loads the cfmanager off my nanopeb.. interesting oh because there's a LOAD file on disk1.. makes sense running extended basic with that would do that.. long as I don't call menu xb2.7 works now with the rom installed

 

Greg

 

Greg, can you do a CRC on the files you've burned? I get XB 2.7 to work but soon as I enter any command it locks up or goes back to the menu screen. But, I'm still on version EEprom.bin and EEprom1.bin pair.

 

Here's the CRC's for the set I'm currently using:

 

128FLASH.BIN - E7641F1C

512KROM.bin - 1DD502D6

EEprom.bin - 89F0C52E (partial TI menu 1, 2, and 3; with or without 512kROM)

EEprom1.bin - DDD646E8 (full A-Z menu; with 512kROM) <=- This one seems to be working so-so, some items on the menu work, some don't. But the most stable so far.

Link to comment
Share on other sites

One note with the ROM files--if you've been inserting/removing the Flash chips a lot, you might want to follow the tricks Acadiel posted on here a while back. He took a needle and inserted it into the holes behind the individual connections in the socket to ensure that they were dar enough out to maintain a good connection. He also checked that each of the chip's wires were nice and clean (no tarnishing, and if present, he cleaned it) and that all of them made good contact in the socket. That has been a problem with the PLCC sockets--usually showing up due to lots of insertions/removals.

 

I forgot to mention that I did this and didn't seem to make much of a difference in results BUT, I did notice it helped "re-spring" the legs. I used a nice sharp dental pick. I'm totally amazed at how much I use that pick for electronics.

 

I think I'm going to invest in a PLCC socket. They're spendy but it'll save my chips and sockets during testing. Guess I better get something on eBay and raise some more TI funds. ;-)

Link to comment
Share on other sites

 

and now if I hit 2 for extended basic 2.7 it loads the cfmanager off my nanopeb.. interesting oh because there's a LOAD file on disk1.. makes sense running extended basic with that would do that.. long as I don't call menu xb2.7 works now with the rom installed

 

Greg

 

Ok, well my tests are not working at all. I get the XB selection, if I choose #2, it will sometimes access DSK1, sometimes won't. All commands lock up XB but I do get to an initial XB prompt.

 

If I go to TI basic and do a CALL MENU, instantly locks up every time.

 

I'm definitely getting different results than Greg. I'm suspecting the PLCC is part of the problem but don't know. I've got two cartridge boards I'm working with and four 49C040's.

 

Is there any way to test the ROM to make sure it's being fully seen, like a CRC on it? From the TI, so we know that when the 49C040 gets moved from the programmer to the cartridge that it's actually seeing something there. I know our tests are "kind of" doing that but there's no way for me to tell if the TI is actually seeing all the lines to the 49C040 (and inherently the code that's been flashed to it).

 

I'll mess with this more tomorrow. Have I said, I thoroughly hate PLCC sockets now? ;-)

Edited by CantStopClicking
Link to comment
Share on other sites

Note that the 512k eprom file should be paired with the 1284 flash files in the same zipfile.

Changes were made to all three files along the way.

 

32k is required for this cartridge.

 

The intent is for it to go directly to the blue menu screen, bypassing the start up menu.

 

Of the original set of EEprom files, forget about using the EEprom.bin file, it is flawed. Use EEprom1.bin.

 

If you get the menu working, all should work with the proper equipment installed. MDM5 will reset the console if there's no HFDC present. One of Fred's CF programs will give an error if the device isn't there. But all others should work properly.

 

Questions:

 

1. Was the XB v2.7 only cart completely stable? Run a few programs to be sure.

 

2. Did the XB v.2.7 only cart remain stable with the replacement 512k eprom posted in the next message?

 

3. Does CALL MENU in the next version work from TI Basic?

 

4. Does the LOAD program start up the menu?

 

Thanks,

 

Gazoo

Edited by Gazoo
Link to comment
Share on other sites

Note that the 512k eprom file should be paired with the 1284 flash files in the same zipfile.

Changes were made to all three files along the way.

 

32k is required for this cartridge.

 

The intent is for it to go directly to the blue menu screen, bypassing the start up menu.

 

Of the original set of EEprom files, forget about using the EEprom.bin file, it is flawed. Use EEprom1.bin.

 

If you get the menu working, all should work with the proper equipment installed. MDM5 will reset the console if there's no HFDC present. One of Fred's CF programs will give an error if the device isn't there. But all others should work properly.

 

Ok, cool. I had best luck with the EEprom1.bin file set. About 50/50 on the apps that functioned. MDM5 did reset, I remember that. DMII seemed to work just fine. TIW+EA worked mostly, but was getting weird DSR errors here and there. I've forgotten the rest (more like have it all jumbled up in my head).

 

I'm going to redo my tests again on my other cartridge board and see if I get different results. I'm trying to avoid killing the PLCC sockets in both carts so I mainly have been using one but cycling through the four 49c040's I have on hand. And I'll update my answers to your questions then. I don't want to put mis-information out there that leads us down a wrong path.

 

Thanks for your patience... Let me do some tests before you make too many more changes. I'd like to see if I can sync up with Greg so we at least are at the same point and compare.

 

-D

Edited by CantStopClicking
Link to comment
Share on other sites

I'm getting a little ahead here. So if all the previous files worked and XB v2.7 is stable, try this next set of files.

 

First make sure XB v2.7 is stable in this cartridge.

 

Then select TI Basic from the main menu. At the prompt, type 'CALL MENU' without the quotes.

Tell me what happens. :)

 

If you actually get the menu, Horray! Then try all the selections to make sure they all work (It may take a little while).

 

Gazoo

 

 

attachicon.gifTest632kcart.zip

 

 

Just to clarify, this version does not have the autostart menu. All you should get on the TI selection screen are choices for TI Basic and XB v2.7.

 

I'm looking to get XB v2.7 stable first, and worry about the menu second. So test XB v2.7 with some programs that do different things to make sure all is working ok.

 

If XB v2.7 is stable, then test CALL MENU and the LOAD program on the .dsk image I posted.

 

Lastly, test all the menu items. If everything works as described (except the two things I mentioned), I can probably provide a final version.

If not, I've got one more trick up my sleeve to get the menu part working, but it will take some time as I've got to start that part over from scratch.

 

Thanks for all the help!

 

Gazoo

Link to comment
Share on other sites

 

Just to clarify, this version does not have the autostart menu. All you should get on the TI selection screen are choices for TI Basic and XB v2.7.

 

I'm looking to get XB v2.7 stable first, and worry about the menu second. So test XB v2.7 with some programs that do different things to make sure all is working ok.

 

If XB v2.7 is stable, then test CALL MENU and the LOAD program on the .dsk image I posted.

 

Lastly, test all the menu items. If everything works as described (except the two things I mentioned), I can probably provide a final version.

If not, I've got one more trick up my sleeve to get the menu part working, but it will take some time as I've got to start that part over from scratch.

 

Thanks for all the help!

 

Gazoo

 

I was looking for one of your images, oh prolific creator, and realized it is difficult to find the latest version(s)! Was thinking that maybe a thread created by you, with all the various releases in the first post might bring it all together? Then when there are updates, you can point people to that single thread, even if you post elsewhere?

Link to comment
Share on other sites

 

I was looking for one of your images, oh prolific creator, and realized it is difficult to find the latest version(s)! Was thinking that maybe a thread created by you, with all the various releases in the first post might bring it all together? Then when there are updates, you can point people to that single thread, even if you post elsewhere?

 

I'll try and simplify it here and delete the other unnecessary files I previously posted.

There are four sets of files to test. Do not mix and match sets, burn all three files to be used in the cart together for testing unless otherwise noted. The method of my madness follows a logical order as I'm trying to find out at which point things stop working.

 

First try this set of files. 632kCartXB27only.zip

 

This is a cartridge containing only XB v2.7. There are two 512k Rom files, 'A' & 'B'.

Rom 'A' should make XB v2.7 run rock solid, at it duplicates the 16k of XB Rom throughout the entire 512k Rom.

Rom 'B' duplicates the 16k of XB Rom at the beginning and the end of the Rom space, to take into account the 378 powering up either in the first or last bank. The 'middle' of Rom 'B' has the dumps of all the programs used in the menu, but they are not accessible here, I just want to make sure XB v2.7 is still stable at this point.

 

If all is good so far, then try this set of files. 632kcartNoAutostart.zip

 

This cartridge contains the carts XB v2.7, TI Writer/Assembler, and Disk Manager 2. It also contains the menu program, but the menu does not autostart. First check to make sure XB v2.7 is solid, run several programs to make sure it's working solidly.

After that is established, type 'CALL MENU' from either TI Basic or XB v2.7 to access the menu program. The included .dsk file can also be made into a real floppy and running 'DSK1.LOAD' from XB v2.7 will also run the menu. There are 2 menu selections that won't run without the proper hardware, but all other menu items should run fine. Check that XB v2.7 runs solidly from the menu also, it should run correctly from both the TI Menu and the white on blue menu.

 

If everything is still good, here's the next set of files. 632kCartNoAutostartMenuEntry.zip

 

This cart is the same as the last one, except an entry has been added for the menu program to the TI menu screen after XB v2.7. The EEprom and 512kROM files are the same as in the last version, so they don't need to be changed.

 

If everything is still good, here's what I hope to be the last set of files. 632kCartAutostart.zip

 

This cart autostarts with the menu program and everything should work. The EEprom and 512kROM files are the same as in the last 2 versions, so they don't need to be changed. Hex files are included in this set to make things easier, I just figured out how to convert them from bin files.

If the versions before this one work correctly and this one doesn't, I can try rewriting the menu program in assembly instead of GPL, It's stable that way in the Rom only cart and 'should' work here as well.

 

Gazoo

Edited by Gazoo
Link to comment
Share on other sites

I was going through some documentation on AVR Studio and they talk about calibrating the internal RC oscillator. Which, they state is needed if you are planning on timing critical events using the internal clock. They say that in order to use the calibration bit, it needs to be set in EEPROM and has to be read by software in order to correctly utilize it.

Would this have anything to do with the odd interaction of the AVR and the external 49C040?

No. First, and it's important to remember this, there is no /direct/ interaction between the AVR and the 040. They are electrically connected in that they share data lines and some address lines at the cartridge port, but they are two completely distinct memory systems. The AVR interacts with the GROM system and the flash chip interacts with the CPU memory system.

 

The AVR code itself is clock speed independent (except for the UART, which is not involved at this point). I've run it everywhere from 1MHz to 20MHz against the console to observe how it behaves. The internal RC oscillator is factory calibrated with within 5% (IIRC) which is certainly good enough, but even if it was way off it would still function.

Link to comment
Share on other sites

Is there any way to test the ROM to make sure it's being fully seen, like a CRC on it? From the TI, so we know that when the 49C040 gets moved from the programmer to the cartridge that it's actually seeing something there. I know our tests are "kind of" doing that but there's no way for me to tell if the TI is actually seeing all the lines to the 49C040 (and inherently the code that's been flashed to it).

You can try Easy Bug, at least as a start. Use "M6000" to select the start of cartridge space, then enter any value to switch banks. Press '.' to exit memory mode, then "M6000" again to start back at 6000. Just hit enter to review memory. If the first 16 values or so match your flash file, then you know at least that the low address lines work, and that the data lines are working. You can try a few random higher addresses if you want to test them.

 

Something just occurred to me on my sample, which I can't check till I get home, but, you guys are building using a 74LS378 for bankswitching, right? And IIRC, that one is NOT inverting the lines. I built my demo cart with a 379, and I'm not sure if I used the inverted outputs or not. If I did, then that would explain why nobody else can make it work. ;) I'll check after work.

 

Jim: I ordered a handful of those opto-isolators so I can do that testing when they arrive.

Link to comment
Share on other sites

I'll try and get that CRC when I get home and have some time.. I had programmed the flash and eeprom on my PC with studio then it wouldn't let me do anything, so i put the device on my linux box and got the fuses and clock set with avrdude.. that worked

 

Now of course I can't do anything with it as my device won't let me reprogram the 1284p since the clock is changed.. need to order that part and get that figured out..

 

Greg

Link to comment
Share on other sites

Something just occurred to me on my sample, which I can't check till I get home, but, you guys are building using a 74LS378 for bankswitching, right? And IIRC, that one is NOT inverting the lines. I built my demo cart with a 379, and I'm not sure if I used the inverted outputs or not. If I did, then that would explain why nobody else can make it work. ;) I'll check after work.

 

Yep. That would likely be it. The ones I have are all 378's with the PLCC socket and 1284.

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...