Page 1 of 2

Anything about /TIME

Posted: Thu Sep 06, 2007 5:47 am
by Jorge Nuno
Hi everyone..

What is the relationship between TIME and the registers $A130F1~$A130FF?

So by default the TIME pin is in HIGH state (inactive), when I do a MOVE.b #1, $A130F1, it becomes LOW? or it just pulses (Fosc=?)?
And if I do a MOVE.b #$FF, A130FF, what happens?, or any #$xx to any of the registers?

What if I do word/dword acesses?


Is there any information about this, besides the 40Mbit-SSF doc?

:wink: 8)

Posted: Thu Sep 06, 2007 4:02 pm
by 8bitwizard
There are no registers at $A13000-$A130FF. Not unless they are in a specific cartridge, in which case you should mention which cartridge you are asking about.

/TIME is a chip select for the address range $A13000-$A130FF, just as /ROM_CE is a chip select for the address range $000000-$3FFFFF. I have been able to use it as an I/O port to both read and write an I2C EEPROM chip. (WR_L and WR_H are used for writes, just as they would be used with a RAM chip)

It supposedly got its name because someone in Japan thought it would be a good idea to put a real-time clock chip on a cartridge. It's certainly too small for a decent RAM chip.

If it had been made $A13000-$A13FFF, games could have had 2K or 4K of battery backup RAM with no extra decoding chips. (a battery management chip would still have been necessary) But I'm pretty sure that I checked and $A13100 locks up the system, meaning there is no DTACK for that address.

Posted: Thu Sep 06, 2007 8:09 pm
by Jorge Nuno
Ok no registers... so they are just addresses... fine, no I'm not talking about any particular cart.
The data types make no difference, since there aren't any regs...

Its just Move 1234 to A13000, TIME goes low, 1234 on data bus and that's it?

Then there isn't nothing special about it? It just maps 256 positions, bytes, words, Membanks, whatever...

I thought it was more "functional", I mean configurable HEHE.

thanks :wink:

Posted: Thu Sep 06, 2007 10:57 pm
by 8bitwizard
It's very configurable. With logic gates. On the cartridge board.

Posted: Thu Sep 06, 2007 11:07 pm
by Jorge Nuno
I meant with minimal external hardware LOL :lol: , with logic gates everything digital is configurable...

Crap, in these days you can even pickup a fpga/pal/cpld, to reduce the onboard complexity and program anything on any 68K address, and generate DTACK with that...

Posted: Fri Sep 07, 2007 5:26 am
by TmEE co.(TM)
I even made a simple EEPROM mapper for MD which works entirely be reading/writing A13000-A130FF address range. !Time is so damn useful !!!

http://www.spritesmind.net/_GenDev/foru ... .php?t=180

Posted: Fri Sep 07, 2007 5:46 am
by Jorge Nuno
I saw it but it's too complicated for me at the moment, because I haven't look for the commands to do operations in those serial chips (in fact I think I hate them: too much code/trouble to read some bits...) parallel is so easy LOL

Posted: Fri Sep 07, 2007 10:37 am
by TmEE co.(TM)
For parallel chips you need just need a 74HC74 and 74HC00 (or 74HC138)... if you want, I can give you a schematic, really easy.
And if you're not going to have a 4MB ROM, you only need 74HC00 (or 74HC138)... but you still need to write 1 to A1301F so that emu will know you use extra RAM...

Posted: Fri Sep 07, 2007 10:46 am
by evildragon
I wonder if I can use /TIME for that clock cartridge I wanted to use, interface a dallas RTC with it. Shouldn't be that hard.

Posted: Fri Sep 07, 2007 4:19 pm
by Jorge Nuno
TmEE co.(TM) wrote:For parallel chips you need just need a 74HC74 and 74HC00 (or 74HC138)... if you want, I can give you a schematic, really easy.
And if you're not going to have a 4MB ROM, you only need 74HC00 (or 74HC138)...

I know how easy it is, It's just a simple address decoding (and a 74HC139 works better than the '138 becuase it has active low outputs)

Though I think those serial memories are good to save games, because they are very cheap and have good endurance...
TmEE co.(TM) wrote: ...but you still need to write 1 to A1301F so that emu will know you use extra RAM...
I didn't know about that, so without that the emulator forbids a write in the rom area?

Posted: Fri Sep 07, 2007 4:46 pm
by TmEE co.(TM)
Ooops 138 were meant to be 139...

If you don't emu will not think that your proggy wants to use SRAM... just do a simple write and you don't have to worry about anything... and one other thing, SRAM MUST be at 200000...20FFFF. You can have only 64KB of SRAM (but in reality 2MB is possible).

Posted: Fri Sep 07, 2007 6:01 pm
by Jorge Nuno
200000-20FFFF... there is no a0, so for bytewide rams you can only get 32KB

Or 64KB, if you combine 2 bytewide rams to give a width of 16bit

but it's only a emulator limitation, right? In reality I can put ram where I want, with the size I want...

And about those I2C/Microwire do the emus support them, is there any official cart with any of those, so it can be compatible with emus?

Posted: Sat Sep 08, 2007 2:08 pm
by TmEE co.(TM)
On emu the SRAM is always saved as 16bit (so if you use only 8bits you'll have odd or even bytes zeros).
On real HW, yes, you can put RAM anywehre you want (and as much as you want), but It gets annoying when you need to reflash your flash cart to see if your program works when you've put SRAM to some other place (or went over the 64KB limitation). One thing : only emu that supports over 64KB of SRAM is Genecyst. But all need the SRAM needs to be in 200000...20FFFF(3FFFFF on Genecyst) range on any emu that I know of.

Only microwire EEPROM mapper made that I know of is mine, and it will not work on emulators(not emulated). Some I2C ones are emulated... 8bitWizard made one which I guess works on some emulator... ask him... Fusion seems to support few mappers...

Posted: Sat Sep 08, 2007 2:38 pm
by Jorge Nuno
I'd rather design one myself (I2C), it's good for leraning, since I never looked really into this matter of serial comunication...

Posted: Sat Sep 08, 2007 2:44 pm
by TmEE co.(TM)
I made a I2C mapper too, but I don't know if it works... I got MicroWire working and its use is much simpler.