Jump to content

Photo

New ROM cart eliminates start up issues.


27 replies to this topic

#1 marc.hull OFFLINE  

marc.hull

    Stargunner

  • 1,297 posts
  • Location:Oklahoma CIty.

Posted Sat Mar 19, 2016 7:47 PM

Last couple of months Jim and I have been hashing out a new ROM cart design that allows EPROMs up to 512k that only need a header in the first bank.

Cold boot or warm restart, bank 0 will always be active at the scan. Banking logic is (from what Jim says) compatible with the current system.

Took 2 iterations and then a last second redesign but alls well that ends well. Stupid how simple it actually was.

Look for these to be available soon from Jim or I.

Hull....

#2 acadiel ONLINE  

acadiel

    Stargunner

  • 1,506 posts
  • www.hexbus.com
  • Location:USA

Posted Sun Mar 20, 2016 3:03 PM

Technical details... are you doing a write to >6000 or something on boot? :)



#3 Ksarul OFFLINE  

Ksarul

    Quadrunner

  • 5,275 posts

Posted Sun Mar 20, 2016 4:13 PM

It does a forced reset to >6000 at startup. We use two chips to set up the banking: a 74LS02 forces the reset and a 74LS174 performs the banking. The resulting cartridge will work from 64K to 512K images and only has one jumper. It uses the non-inverted 378-style images.



#4 Asmusr OFFLINE  

Asmusr

    River Patroller

  • 3,115 posts
  • Location:Denmark

Posted Sun Mar 20, 2016 4:17 PM

It does a forced reset to >6000 at startup. We use two chips to set up the banking: a 74LS02 forces the reset and a 74LS174 performs the banking. The resulting cartridge will work from 64K to 512K images and only has one jumper. It uses the non-inverted 378-style images.

 

Perhaps I'm missing something obvious, but how do you detect a soft reset?



#5 --- Ω --- OFFLINE  

--- Ω ---

    Hexacorerunner

  • 13,924 posts
  • Location:82.102.25.76

Posted Sun Mar 20, 2016 4:55 PM

It does a forced reset to >6000 at startup. We use two chips to set up the banking: a 74LS02 forces the reset and a 74LS174 performs the banking. The resulting cartridge will work from 64K to 512K images and only has one jumper. It uses the non-inverted 378-style images.

 

Are you going to stick with the 49F040?



#6 marc.hull OFFLINE  

marc.hull

    Stargunner

  • Topic Starter
  • 1,297 posts
  • Location:Oklahoma CIty.

Posted Sun Mar 20, 2016 5:17 PM

 
Perhaps I'm missing something obvious, but how do you detect a soft reset?


The reset is controlled by the gs signal. It is wired straight to the mr pin of the latch. When the console does it's initial scan it resets the output pins to low.

I originally used cruclk but found out that cruclk does not exist on all console.

#7 Ksarul OFFLINE  

Ksarul

    Quadrunner

  • 5,275 posts

Posted Sun Mar 20, 2016 6:47 PM

This one is set up as an EPROM cart (28-32 pin), not as a PLCC flash chip cartridge. It would replace Red boards for some uses (not all, as the Red boards will also do smaller ROM chips (down to 8K) and can be jumpered to use a static RAM chip (with a write-protect function once loaded, which makes it very usable with NV SRAM chips).



#8 acadiel ONLINE  

acadiel

    Stargunner

  • 1,506 posts
  • www.hexbus.com
  • Location:USA

Posted Sun Mar 20, 2016 7:21 PM

It does a forced reset to >6000 at startup. We use two chips to set up the banking: a 74LS02 forces the reset and a 74LS174 performs the banking. The resulting cartridge will work from 64K to 512K images and only has one jumper. It uses the non-inverted 378-style images.

 

 

That's actually pretty cool.  One of the problems we've always had is finding these TTL chips that do what we need.  This one appears to have been there all along, but we've always been concentrating on the 377/378/379 series.  Nice job, Marc and Jim!

 

So, from reading the data sheet, the 74LS174 is a hex (512K) flip flop, and it has a cool "master reset" to clear all flip flops.  So, you're having the 74LS02 trigger that MR pin (pin #1) upon the console powering up?  What do you have triggering the 74LS02?

 

Man, my head is getting dizzy from all the cool things popping up in the past two weeks.  



#9 Ksarul OFFLINE  

Ksarul

    Quadrunner

  • 5,275 posts

Posted Sun Mar 20, 2016 9:05 PM

We're using GS (pin 21) to trigger the reset on startup. Interestingly enough, our delvings also discovered that the CRUCLK that is supposed to be on pin 4 of the cartridge port isn't actually connected to anything on the TI's motherboard, at least on the three we cracked open to verify. . .of course, we discovered that after we tried to use it. Every port pinout I've ever seen shows it as present on pin 4--but it wasn't, which sent us on an interesting troubleshooting wild goose chase. The lesson we learned from that one is to consider that pin to be N/C if you want something to be compatible with every /4A out there (and to verify the presence of any signal you haven't used before, even if the diagrams say it's there). I suspect it may have been connected in earlier board revisions (or even just in the /4), but I haven't gone digging into it that deeply yet, as knowing that the signal wasn't present on some machines was enough to make us shy away from using it for any purpose whatsoever at the cartridge port. This way, the board will work with all motherboard revisions identically (as GS is present on all of them).



#10 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • 4,225 posts
  • Location:Denmark

Posted Sun Mar 20, 2016 11:03 PM

Perhaps I'm missing something obvious, but how do you detect a soft reset?

 

Yeah, I'm wondering too.



#11 Asmusr OFFLINE  

Asmusr

    River Patroller

  • 3,115 posts
  • Location:Denmark

Posted Mon Mar 21, 2016 4:57 AM

So any attempt at GROM access will reset the bank (that's clever)?



#12 acadiel ONLINE  

acadiel

    Stargunner

  • 1,506 posts
  • www.hexbus.com
  • Location:USA

Posted Mon Mar 21, 2016 9:38 AM

 

Yeah, I'm wondering too.

 

 

I'm wondering if that GS resets on a soft reset as well.



#13 marc.hull OFFLINE  

marc.hull

    Stargunner

  • Topic Starter
  • 1,297 posts
  • Location:Oklahoma CIty.

Posted Mon Mar 21, 2016 1:25 PM

When the console scans the groms after any reset the gs line is brought low which resets the latch.

Same thing worked for cruclk but
that obviously doesn't work on all consoles.

#14 marc.hull OFFLINE  

marc.hull

    Stargunner

  • Topic Starter
  • 1,297 posts
  • Location:Oklahoma CIty.

Posted Mon Mar 21, 2016 7:56 PM

To clarify...

-GS is wired to the -MR of the latch directly. So whenever the console does it's initial scans it resets the latch simply by searching for GROM.

The latch has a rising edge trigger that is toggled by the NORing of -ROMS and -WE.

The pin addressing is the same as the non inverted cart (per Jim) to respect the established system.

The -CRUCLK was the first choice for the reset mechanism but found out into the second cart iteration that this signal does not exist at the cart port of QI consoles.

#15 acadiel ONLINE  

acadiel

    Stargunner

  • 1,506 posts
  • www.hexbus.com
  • Location:USA

Posted Tue Mar 22, 2016 3:53 PM

Dude, thanks for solving a long standing issue ;)

Sent from my Nexus 5X using Tapatalk

#16 Asmusr OFFLINE  

Asmusr

    River Patroller

  • 3,115 posts
  • Location:Denmark

Posted Tue Mar 22, 2016 4:32 PM

It's still not clear to me when exactly the bank is reset. If you access the console GROMs from a cart, will that reset the bank? What is "the latch"?



#17 Ksarul OFFLINE  

Ksarul

    Quadrunner

  • 5,275 posts

Posted Tue Mar 22, 2016 5:06 PM

The latch is the reset pin on the 174. It should only reset with a GROM call from a program, a warm boot, or a cold boot. As the programs running from cartridge space in an EPROM generally aren't making GROM calls, there shouldn't be issues (though if there was a GROM call from a cartridge program, it would force the 174 to reset. . .



#18 Asmusr OFFLINE  

Asmusr

    River Patroller

  • 3,115 posts
  • Location:Denmark

Posted Tue Mar 22, 2016 5:35 PM

The latch is the reset pin on the 174. It should only reset with a GROM call from a program, a warm boot, or a cold boot. As the programs running from cartridge space in an EPROM generally aren't making GROM calls, there shouldn't be issues (though if there was a GROM call from a cartridge program, it would force the 174 to reset. . .

 

Thanks for the clarification. Not being able to call GROM routines is cool with me - I don't think I have even tried to call a ROM routine.  :)



#19 marc.hull OFFLINE  

marc.hull

    Stargunner

  • Topic Starter
  • 1,297 posts
  • Location:Oklahoma CIty.

Posted Tue Mar 22, 2016 5:44 PM

It's still not clear to me when exactly the bank is reset. If you access the console GROMs from a cart, will that reset the bank? What is "the latch"?



Anytime a GROM acces is made then the latch (or group of six flip flops) is set to zero therby activating bank zero.

Progression through the banks is done the same as the other cards.

#20 Lee Stewart ONLINE  

Lee Stewart

    River Patroller

  • 3,968 posts
  • Location:Silver Run, Maryland

Posted Tue Mar 22, 2016 5:49 PM

The latch is the reset pin on the 174. It should only reset with a GROM call from a program, a warm boot, or a cold boot. As the programs running from cartridge space in an EPROM generally aren't making GROM calls, there shouldn't be issues (though if there was a GROM call from a cartridge program, it would force the 174 to reset. . .

 

Not that I have plans to modify fbForth 2.0 so that it can be easily shoehorned into a multi-cart ROM (I have thought about it), this would definitely be a problem for fbForth 2.0 because of its GPLLNK , DSRLNK , BEEP and HONK words (there may be others).  They all run routines in console GROMs.

 

...lee



#21 Ksarul OFFLINE  

Ksarul

    Quadrunner

  • 5,275 posts

Posted Tue Mar 22, 2016 7:43 PM

Right--for fbForth you are definitely better off with a Black board--and that will give you room to expand up to 128K if you really needed to. . .



#22 Lee Stewart ONLINE  

Lee Stewart

    River Patroller

  • 3,968 posts
  • Location:Silver Run, Maryland

Posted Tue Mar 22, 2016 11:10 PM

I don’t suppose it’s of particular concern, but cassette I/O would be off limits, as well, since access to the cassette routines goes through a GPL DSR.

 

...lee



#23 Tursi OFFLINE  

Tursi

    Quadrunner

  • 5,641 posts
  • HarmlessLion
  • Location:BUR

Posted Tue Mar 22, 2016 11:56 PM

Did you test software that uses KSCAN? I thought that used GROM tables for the keyboard lookup.

#24 Willsy OFFLINE  

Willsy

    River Patroller

  • 3,100 posts
  • Location:Uzbekistan (no, really!)

Posted Wed Mar 23, 2016 1:59 AM

Some carts (like TurboForth and fbForth) use gpl routines for loading character sets and the like. Still, we have the existing cart systems for those so I don't think it's a major issue.

#25 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • 4,225 posts
  • Location:Denmark

Posted Wed Mar 23, 2016 3:15 AM

Some carts (like TurboForth and fbForth) use gpl routines for loading character sets and the like. Still, we have the existing cart systems for those so I don't think it's a major issue.


Anyway, for future projects, and the ability to take binaries/images and make Forth etc. coexists in the more easy to update cartridges, - then the ability to make a better start-up (topic of thread) should maybe be something you can turn off. Or maybe even off as default, and something you turn on (and off) in software (like writing to >7FFC and >7FFE) ?

;)


Edited by sometimes99er, Wed Mar 23, 2016 3:48 AM.





0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users