16BIT ROM CART THOUGHTS

General discussions or ideas about hardware.
Locked
User avatar
exxos
Site Admin
Site Admin
Posts: 23496
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

16BIT ROM CART THOUGHTS

Post by exxos »

I have been thinking about the diagnostic cart where larger ROM's are used with a switch to select which version of the ROM to run (IE, ST, STE, MSTE etc). What bugged me is it used 2 chips. So I thought about using a single PLCC ROM 4096 instead. Can fit a few ROM's in there anyway , and it only needs one.

I was looking at this...
rom_cart.JPG
rom_cart.JPG (176.95 KiB) Viewed 7351 times
Where I am making the assumption that ROM4 wouldn't be used.

What actually bugs me , is UDS & LDS. I am making the assumption that even if the ST read in 8bit modes, a 16bit ROM could still be used, it would still output the data on the 16bit bus, just the CPU would ignore the 8 bits output by the ROM depending on UDS LDS.

Though I do not know , but assume again, the ST will read the 16bits in one go, by having LDS & UDS low during ROM read.

The problem here is, I think either way, it would need something like the LS11 as used in the STFM ROM circuit. In that LDS or UDS is low to enable the 4096 ROM, OR, UDS & LDS are both low to enable the 4096 ROM.

Though does anyone know if the ST would be reading in 16bit or 8 bit on the cartridge port ?

If it does read in 16bit, then LDS & UDS will go low at the same time, and I could probably get away with using LDS for CE, and ignore UDS. Not pretty, but would work assuming 16bit access.

8bit access I think would have to use something like the LDS11 to drive the 4096 CE on UDS or LDS low , in which case its probably not really worth designing a PLCC 16bit ROM cartridge if 2 IC's are going to have to be used anyway :roll:
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
User avatar
rpineau
Posts: 534
Joined: Thu Aug 17, 2017 6:08 pm
Location: USA
Contact:

Re: 16BIT ROM CART THOUGHTS

Post by rpineau »

When the 68000 does a 8 bit read, it asserts the proper uds/lds signals but you can indeed place 16bits of data on the bus and the CPU will read what it needs.
You just need to make sure the ROM is selected for /UDS or /LDS (via an and gate for example as you said.).
Rodolphe
Working ones : MegaSTE (68020) / TT030 / Falcon with AB040 & Eclipse / 1040STF
Need testing : Falcon with CT2
User avatar
exxos
Site Admin
Site Admin
Posts: 23496
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: 16BIT ROM CART THOUGHTS

Post by exxos »

rpineau wrote: Mon Aug 28, 2017 6:57 pm When the 68000 does a 8 bit read, it asserts the proper uds/lds signals but you can indeed place 16bits of data on the bus and the CPU will read what it needs.
Yes that is what I thought...
rpineau wrote: Mon Aug 28, 2017 6:57 pm You just need to make sure the ROM is selected for /UDS or /LDS (via an and gate for example as you said.).
Yeah, though if the CPU is doing 16bit read, then I could cheat and use either UDS or LDS.. I guess I would have to connect up my scope and check LDS, UDS to see if its doing 16bit read to ROM.. I would assume the CPU would for ROM port.. but as you know, can't assuming anything with this Atari stuff :lol:
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
User avatar
rpineau
Posts: 534
Joined: Thu Aug 17, 2017 6:08 pm
Location: USA
Contact:

Re: 16BIT ROM CART THOUGHTS

Post by rpineau »

Yep.
It's not so much what the CPU does but what the code does. If the code does a 8 bit access for some reason, it will use /LDS or UDS (depending on the address).
The code part will always be read as 16bit as this is the minimum instruction size. The data can be read in 8 or 16 bits depending on what the code is doing.
Rodolphe
Working ones : MegaSTE (68020) / TT030 / Falcon with AB040 & Eclipse / 1040STF
Need testing : Falcon with CT2
User avatar
exxos
Site Admin
Site Admin
Posts: 23496
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: 16BIT ROM CART THOUGHTS

Post by exxos »

True.. I guess I will get my scope on the diagnostic cart, at least the ST one anyway, see if I can spot it doing any 8bit access.
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
User avatar
exxos
Site Admin
Site Admin
Posts: 23496
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: 16BIT ROM CART THOUGHTS

Post by exxos »

rpineau wrote: Mon Aug 28, 2017 7:24 pm Yep.
It's not so much what the CPU does but what the code does. If the code does a 8 bit access for some reason, it will use /LDS or UDS (depending on the address).
The code part will always be read as 16bit as this is the minimum instruction size. The data can be read in 8 or 16 bits depending on what the code is doing.
I forgot all about this. Though even if we did put 16bit data on bus from ROM all the time , the CPU is only going to read high or low byte anyway. So would it actually matter ?

I wonder this as...

cart1.JPG
cart1.JPG (79.54 KiB) Viewed 7086 times

I am on 4 layers now and having issue routing it. Even auto-router makes usual mess but says 100% complete, then decides several tracks are broken so it fails. Would be a lot easier to route a single 16bit ROM.
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
troed
Moderator
Moderator
Posts: 908
Joined: Mon Aug 21, 2017 10:27 pm

Re: 16BIT ROM CART THOUGHTS

Post by troed »

exxos wrote: Mon Aug 28, 2017 6:46 pm I have been thinking about the diagnostic cart where larger ROM's are used with a switch to select which version of the ROM to run (IE, ST, STE, MSTE etc). What bugged me is it used 2 chips.
Arne's cart doesn't use two chips? Or is that very long DIL EPROM the functional equivalent of two?

http://atari.team-yankee.net/pages/bake ... tkit-5.php
User avatar
exxos
Site Admin
Site Admin
Posts: 23496
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: 16BIT ROM CART THOUGHTS

Post by exxos »

troed wrote: Tue Feb 20, 2018 11:54 am Arne's cart doesn't use two chips? Or is that very long DIL EPROM the functional equivalent of two?
Yeah, though the question is if it works with 8bit code (serial port). Its no problem to use a 16bit ROM (like I do with my ROM kits) but the cartridge uses UDS and LDS (8bit high and low byte) , but with 1 chip we only have 1 chip enable, so we can't use UDS and LDS as enable lines (like original cartridge does) .

Basically ...

Original cart (2x8bit rom) :
UDS > chip enable 1
LDS > chip enable 2

16bit ROM:
UDS or LDS > chip enable.

So as peter says, we can use LDS OR UDS to switch the ROM's chip enable lines low.. but the question is, does that break anything...

My question was that I don't think it would matter, as the CPU will only read high or low byte from the bus anyway, so if we put 16bit data on the bus, it shouldn't matter... This is what I really want to confirm before I start building a 16bit ROM cart...
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
keli
Posts: 97
Joined: Tue Aug 22, 2017 1:34 pm

Re: 16BIT ROM CART THOUGHTS

Post by keli »

exxos wrote: Tue Feb 20, 2018 12:04 pm So as peter says, we can use LDS OR UDS to switch the ROM's chip enable lines low.. but the question is, does that break anything...

My question was that I don't think it would matter, as the CPU will only read high or low byte from the bus anyway, so if we put 16bit data on the bus, it shouldn't matter... This is what I really want to confirm before I start building a 16bit ROM cart...
From my playing around with FPGAs and the ST bus, I have found out that for reads, always putting 16 bits of data on the bus when either /LDS or /UDS are active low works perfectly fine. It's only when writing you have to be careful only to grab the correct bits, as the CPU will only be driving the corresponding half of the data bus. This is of course irrelevant for a ROM as you will only ever see read cycles. (The GLUE will produce a bus error if the CPU tries to write to the address space assigned to the cartridge port, and the cartridge port does not have a /WE pin anyway.)
User avatar
exxos
Site Admin
Site Admin
Posts: 23496
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: 16BIT ROM CART THOUGHTS

Post by exxos »

keli wrote: Tue Feb 20, 2018 12:21 pm From my playing around with FPGAs and the ST bus, I have found out that for reads, always putting 16 bits of data on the bus when either /LDS or /UDS are active low works perfectly fine. It's only when writing you have to be careful only to grab the correct bits, as the CPU will only be driving the corresponding half of the data bus. This is of course irrelevant for a ROM as you will only ever see read cycles. (The GLUE will produce a bus error if the CPU tries to write to the address space assigned to the cartridge port, and the cartridge port does not have a /WE pin anyway.)
Yeah I think it should be ok.

I was going to just use LDS, but that would limit to 16bit only reads to the cartridge.. I don't know what Arne did, his diagram shows 2x 8bit roms. So if he ignored UDS, then parts of the diagnostic cart may not work as it wouldn't be able to do 8bit reads :shrug:
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
Locked

Return to “HARDWARE DISCUSSIONS”