8BitChip Forum

Atari => Hardware => Topic started by: Petari on 09-09-2010, 14:13:56

Title: Cartridge port IDE IF design finished (project CATA)
Post by: Petari on 09-09-2010, 14:13:56
After long time it is now capable for reliable work on ST, STE machines, with CF cards, IDE hard disks and even CD ROM drives (but it will need driver too) .

Some + details here :  http://atari.8bitchip.info/

http://www.youtube.com/watch?v=c_Pi9gSJdYo (http://www.youtube.com/watch?v=c_Pi9gSJdYo)

If interested for, please post here or send e-mail.  Need to know amount of interested people before starting production.
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Shredder11 on 09-09-2010, 22:29:38
The speed is awesome!
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Anemos on 13-09-2010, 00:53:15
Very interest! Atari HD via cartridge port?  :o
can be using with all HD drivers ,or has special drivers
is bootable also ect..?
how GB CF support?
no extra power needed ?
tell more..  ;)
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Petari on 13-09-2010, 11:26:07
Very interest! Atari HD via cartridge port?  :o
can be using with all HD drivers ,or has special drivers
is bootable also ect..?
how GB CF support?
no extra power needed ?
tell more..  ;)

Idea is not new. Paskud was the first cartridge port IDE IF for Atari ST.
On site is some info, but I will write here, maybe in more understandable way :

Forget other HD drivers - only with special driver for it - there is no standard/specs for using cartridge port for mass storage, it is even not intended for writing data out, only for reading in.

Paskud has own driver SW, partitioner etc.  too , just to add.

It is bootable in little different way than regular hard disks (ACSI/IDE) - autoboot is solved via SW in cartridge ROMs. It executes before regular disk booting, even before floppy boot. On all TOS versions. So, no need for TOS 2.06 when using IDE ( Benefit #1 )

No capacity limit - driver can handle disks up to 2048 GB (it is partition table limit in fact).
So, any CF, even 32-64 GB will work, if you have money to buy it :)

No need for extra power supply, as cartridge port gets power from ST (Benefit #2 )

Benefit #3 : speed - much faster than Paskud, especially by write. See pic on site.
In combination with Kobold 2 it is killer !

See on YouTube:  http://www.youtube.com/watch?v=9D2aWwxpk6U (http://www.youtube.com/watch?v=9D2aWwxpk6U)
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Anemos on 13-09-2010, 20:59:56
If understand.. it works like a large cartridge hardware emulator that you can intervene and change the files via CF.
It remains interesting,  but the not writable directly by Atari, is not good...
at last..i think all your work,s is very good and benefit for Atari and users.
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Petari on 14-09-2010, 13:43:40
If understand.. it works like a large cartridge hardware emulator that you can intervene and change the files via CF.
It remains interesting,  but the not writable directly by Atari, is not good...
at last..i think all your work,s is very good and benefit for Atari and users.

It is not cartridge emulator. It is full IDE compliant (supporting all IDE features) adapter/interface.
I just mentioned that cartridge port is not intended for writes - but it means not that writing is impossible. I made long time ago EPROM programmer for cart. port. And writing is a must by such device, isn't ? Usually, writing is slower than reading, but in case of CATA it is very fast.
".. but the not writable directly by Atari, is not good..."  don't know why you talk about not writeable directly.  Better is to say that Atari designed cart. port without writing support. Actually, CATA writes very directly via cart port, and it explains high speed.
 Because of easier usage (to avoid opening machine, solderings) there is demand to use cart port for diverse adapters, so CaTA is just one among many, who solved it. Examples:  USB/serial port for cartridge. Digitizer , some audio stuff ...
More info:  usually, writing out is solved by using address lines as data. There is even some article on WEB, where it is explained in details.  Fact that Atari did not support writing via cart. port means not that it is unreliable or whatever. And we know that many times third party developers surpassed original manufacturer. Remember ICD ?

P.S. I start new topic here, where will write some principles of mass storage, interfaces used for ..
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Anemos on 15-09-2010, 22:53:58
ok, nice! we wait to see some photos of your new project,lot of people wait for some new, HD for Atari!

Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Petari on 17-09-2010, 19:38:40
Photos will be when PCB is manufactured. Then can assemble and shot. Prototype is not nice.

Something bothered me already when made first test version:  writing is much faster than read. I knew that same principle as by writing is not possible by reading without some changes in Atari ST(E). This days I thinkered about. The solution is in fact pretty simple, and costs almost nothing.
Need to cut 1 line in machine and solder 2 wires there, and lead them out. Those 2 wire ends connect to special connector on CATA and that's all plus work/material. If not using CATA must shortcut that 2 wire ends, of course - can be solved automatically with proper connector.

I plan this as option. So, only speed fanatics may go on with. For others it will work well, without opening machine. In driver config file will be set to use or not the extra reading speed.

(http://atari.8bitchip.info/p/CATAF_STE.png)

This is reading speed via driver. Direct access speed should be around 2400 KB/sec. But so far no support in speed test program for it.
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: jvas on 18-09-2010, 14:28:01
Very impressive  :D
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Thorsten Günther on 12-12-2010, 11:18:36
Any data yet on projected prices and date of availability?

Depending on the price tag, I will order some CATAs, and I guess there's many more buyers if it becomes available - you might ask on atari-home.de forum, e.g..

Thorsten
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Shredder11 on 12-12-2010, 12:33:23
Yep I am interested in the interface too, although not sure yet how many I would like/afford.
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Petari on 13-12-2010, 15:06:42
Working on it ... I will put all infos here when will know concrete details ...
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Thorsten Günther on 13-12-2010, 20:28:54
Thanks!

Hope it will be soon, this thing is even sexier than the UltraSatan because it needs no PSU (I hope you'll be going for a CF version).

Will you produce it yourself or ask some of the hardware producers in Eastern Europe (e.g. Lotharek or MiKro) to do the dirty (and tedious) work?

Any chance that CATA will get a case?


Regards,

Thorsten

Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: johnz on 29-12-2010, 11:51:14
hello

a very interesting ide interface. if one day you product the item for sell i will be interested in buying one for my falcon.
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Petari on 29-12-2010, 13:31:07
a very interesting ide interface. if one day you product the item for sell i will be interested in buying one for my falcon.
Unfortunately it works not really good on Falcon - because of different bus timings. Only read is good, writing not.
Not to mention that you have already IDE IF with Falcon, so need only some cable and IDE-CF adapter to work with Compact Flash.
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: johnz on 29-12-2010, 16:17:57
it would be useful for my atari ste :-).

i've also some games request for gamex ^^
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Waltermixxx on 26-01-2011, 04:49:04
any chance this will be a do it yourself project as well with released schematics and part list :)
Cheers ... :)
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: thgill on 30-01-2011, 06:53:54
Very interested in buying one of these. If the price is under $100, I would most likely order two of them.

Something I could plug into the cartridge port and then plug in a CF card would be awesome. My Mega would love it!

Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: bid on 03-03-2011, 16:10:05

Hi.

I am also intersted in one of these IDE cards. I must say I am very impressed with your website. And an IDE adaptor for the ST and STe is sorely lacking at the moment!!

I however, do not have the tools to build one. But I would express interest in purchasing at least one if they are reasonable.

Kind regards,
John
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: thgill on 22-05-2012, 16:59:22
Bump.

Any update on this?

Would be nice if someone sold these pre-built or at least sold the PCB's to DIY them at home.


Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Petari on 24-05-2012, 13:57:09
I agree, it would be nice. Myself can not currently go in some manufacturing.
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: jester on 04-09-2012, 11:12:29
I don't know if you have found solution to produce this PCB but I know a french person which has the equipment, skill and passion of Atari for building some specimen... not in an industrial way but he could certainly produce some PCB.
I can give you contact information if you want for direct exchange with him (he is not a fan of forum).
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Petari on 04-09-2012, 14:33:47
Currently I have one man in UK, who is about to start ACSI-CF adapter manufacturing (the simplest one). He is thinking about CATA too, but maybe some months later.
It would be good to have manufacturer for CATA too. So, please give me contact info .
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Anemos on 04-09-2012, 15:29:04
happy to hear again about this.. (every photos,infos, on first post is missing..)
well..all waiting for good news..
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Thorsten Günther on 21-09-2012, 08:14:10
It would be good to have manufacturer for CATA too. So, please give me contact info .

The user alexh of atari-forum.com publicly showed interest in producing CATA some months ago, but seemed unable to register for this forum back then!? Perhaps you should also contact him over there.

I am very interested in purchasing one or more of these myself.
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Petari on 21-09-2012, 10:38:10
I already contacted Alexh - he is interested about ACSI-CF adapter manufacturing.  For Cartridge port IF I have talk with one French HW maker. Will see what will be result ...
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Cyprian_K on 14-10-2012, 16:53:47
Unfortunately it works not really good on Falcon
what's difference between bus timing in ST and Falcon from cartridge point of view?
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Petari on 15-10-2012, 10:31:50
what's difference between bus timing in ST and Falcon from cartridge point of view?
Timing is 'dictated' by CPU. So, it is different with 68030. Even at 8MHz clock. Pipeline and cache makes things even worse. Basically, reading is not bad, but writing is just too unreliable.
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Cyprian_K on 15-10-2012, 23:05:13
do you mean that in ST access to cartridge is rounded to 4 cycles (2Mhz) and in Falcon to two (8MHz)?
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Petari on 16-10-2012, 10:48:07
Higher speed should be not problem for modern disks. But this special writing likes constant speed and timing, what is not the case by 68030.
Even with cache off it is still not enough constant - I guess because pipeline. All it would need too much time and possibly additional components, while Falcon people is already equipped with hard disks, CF cards, so I don't see the point .
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: paulwratt on 19-10-2012, 01:46:13
having a read-only set of IDE devices on the cartridge port would still be useful. Especially if you have a lot of large data, or even a BBS (file server)

anyway, someone will eventually figure out a "trick" for the Falcon, even if that means it would only write at "standard" STE speeds..

Anyway keep us posted about how things are going..

Paul
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Petari on 19-10-2012, 10:59:26
I don't think that it will write well on Falcon and TT ever without some additional components. And I don't think that there will be much interest by those users. Concept is based partially on fact that 68000 CPU has very accurate instruction ececution timing, and it is constant all time.
68030 is different story. No wonder that we don't see any fancy demos with some special, irregular video on Falcon, TT - because they are usually based on exact CPU timing.
I focus on STE - mostly because better features and is more stable than ST (faster signals on cart port for instance), and overall, buying today some ST, because 'it is most compatible with games' is dummy - STE is very-very compatible. I can make every game to work on STE, quickly.

I just needed to update GAL logic of CATA, so it can playback AV at 320x200, 4096 colors, 25fps - something most not really expected to see on STE ever, including myself :)
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: paulwratt on 21-10-2012, 09:29:17
I don't think that it will write well on Falcon and TT ever without some additional components. And I don't think that there will be much interest by those users.

CD/DVD or CF or massive IDE-HD - as long as it can read, some poeple will be interested for Falcon & TT030

The HD I lost at christmas was 350Gb of Atari stuff on 2TB drive, of which <1% was demo/scene/ym stuff. If it had been hooked up on CATA to Falcon/TT030 I might still have it (cos write protected)

BTW how does inacurate 030 timing cope with internal IDE (Falcon) and internal SCSI (TT) - (maybe not worth discussing atm)

Anyway, I think should not worry about Falcon/TT write until you get more than a couple of people asking "why cant it write", but just make sure it can still read. Later more people will realize the benefits of an external IDE interface on cartridge (ie no need to open machine up to change media/drives)

Yes I prefer STE too. Just need more bigger memory addons (incl FastRAM) (and PCI adapter for my 2x Silent HD5450 : )

Paul
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: kovacm on 25-10-2012, 12:08:49
super cool project!!

how do you achieve so high speeds? is ROM port directly connected to MC68000 so transfer speed depends only on MC ability to read/write from register to ROM port address? NetUSBEE LAN cart for ROM port can achieve ~150KB/s on plain ST at best! how did you get 10x performance?


and since I have NetUSBEE for LAN, is it possible for use both card (NetUSBEE and CATA) at same time on ROM port?


EDIT: to replay to myself :) I just read thread http://forum.8bitchip.info/hardware-16/about-interfaceadapteradd-on-design-concepts-for-atari-st/

Quote
Cartridge port is special case - in fact, by ST it is used mostly for diagnostic purposes (service cartridge) and diverse add-ons, which were mostly something other than ROM expansions. The reason is clear: it is connected directly to CPU data bus, so allows fast transfer to ST RAM.
but than again - why NetUSBEE is so slow? What kind of data Realtek chip provide to ROM Port? and is it possible to connect more devices on ROM port at once?
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Petari on 25-10-2012, 23:07:41
...
The HD I lost at christmas was 350Gb of Atari stuff on 2TB drive, of which <1% was demo/scene/ym stuff. If it had been hooked up on CATA to Falcon/TT030 I might still have it (cos write protected)

BTW how does inacurate 030 timing cope with internal IDE (Falcon) and internal SCSI (TT) - (maybe not worth discussing atm)

Anyway, I think should not worry about Falcon/TT write until you get more than a couple of people asking "why cant it write", but just make sure it can still read. Later more people will realize the benefits of an external IDE interface on cartridge (ie no need to open machine up to change media/drives)

Yes I prefer STE too. Just need more bigger memory addons (incl FastRAM) (and PCI adapter for my 2x Silent HD5450 : )


You lost data on that drive, or drive broke ?

SCSI has nothing with CPU timing - it uses DMA. And problems with CATA are because it is not intended for write at all - I use dirty tricks for it and speed.
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Petari on 25-10-2012, 16:57:45
how do you achieve so high speeds? is ROM port directly connected to MC68000 so transfer speed depends only on MC ability to read/write from register to ROM port address? NetUSBEE LAN cart for ROM port can achieve ~150KB/s on plain ST at best! how did you get 10x performance?
and since I have NetUSBEE for LAN, is it possible for use both card (NetUSBEE and CATA) at same time on ROM port?
EDIT: to replay to myself :) I just read thread http://forum.8bitchip.info/hardware-16/about-interfaceadapteradd-on-design-concepts-for-atari-st/
Quote
Cartridge port is special case - in fact, by ST it is used mostly for diagnostic purposes (service cartridge) and diverse add-ons, which were mostly something other than ROM expansions. The reason is clear: it is connected directly to CPU data bus, so allows fast transfer to ST RAM.
but than again - why NetUSBEE is so slow? What kind of data Realtek chip provide to ROM Port? and is it possible to connect more devices on ROM port at once?

Cartridge port is in fact pretty simple - it is intended to attach max 128KB ROM at certain memory area ($FA0000-$FBFFFF) to machine. There are all necessary signals, adresses decoded, so you need only board and 4 32KB EPROMs. And designers forgot write support from some reason.
It is connected to CPU data and address bus directly - and reading speed is same as reading RAM.
But write is another story. To achieve it, usual trick is to use address lines as data instead addressing - and it makes first limit then - part of cartridge area is not for ROM, but for such writing. For instance only first half is used for ROM (64KB), and another for writing via addresses - adapter logic will know according to addresses area is it regular read, or write via trick.  And this method means much slower writing than reading, because code can not be so straight as by normal writing. About 200-250KB/sec max is possible, if I remember correct.
Now, why NETUSBEE is only 150KB/sec (even by read ?) I really don't know. Reading could be up to some 1300KB/sec.  Most likely some other things cause it.

When I started to think about cart port, I wanted faster write. The whole concept is based on how data transfers work:
CPU reads data from selected port or memory address into internal registers, then writes to destination. Only case where it is different is DMA transfer, where DMA chip writes directly into RAM.  But we can use DMA only with floppy and ACSI port.
So, back to by CPU done transfers:  there is no separated port access by 68000 (like by Intel CPUs or Z80) - all is mapped into RAM address space. So, cart port too.
Typical code for transfer is:  move.l  (a0)+,(a1)+  ... repeat it as many data must be transferred.
For those not knowing asm:  move means copy in fact, l is long, so 4 bytes. (a0)+ means that source is at address equ content of register a0 (32bit one). After reading it autoincrements by operation size, so 4 bytes, and will be ready for next transfer. a1 is dest, other same.  This way allows max 1600KB/sec - because max bus speed in ST(E) is 4MB/sec, but half is used for read and half for write. Additional 25% is wasted on instruction opcode reading - every time again, even if it is same.
With movem we can get more, about 1900KB/sec, but it is more complicated for usage, and not suitable for IDE because bug.
Blitter:  it works on same bus, so same speed limitations - but because no need to reread opcode every time, it can almost 2MB/sec in HOG mode. At price of stopping CPU while doing it. 

So, how then I achieved over 2MBsec ?
First thing is:  IDE port is alway on same address, and IDE self autoincrements data pointer, internally. So, we don't need to care about source address. Second came with need for fast write:
if we ensure that nothing will interfer with our code (interrupts disabled etc) we can open IDE port at every RAM access and write what is on data bus in that moment. Then simple:
move.l  (a1),d0  will do the job, faster than way above - because no reading into CPU first.
Above code reads data at a1 into CPU register d0, what is not where we really want it - point is that in that moment data appears on data bus, and will be written on hard disk, which will autoincrement and may write to next loc by next same instruction.  This allows over 2200KB/sec write speed.  Logic of adapter ensures that IDE write activates only when RAM is addresses, and not when cartridge port code. And yes, it means that above works only from ROM of cartridge self.

Very fast reading:  opposite CPU operation would allow fast readings too, so writing to RAM what is on data bus. But no CPU instruction what performs it, naturally. You can only write to RAM what CPU puts on data bus.  Here comes even more nasty trick:  if we invert CPU signal R/W before MMU chip, will have memory writing instead read.  So, move.l  (a1),d0 will write to loc at a1, but of course not content of register d0, because CPU will still perform reading. but what is on data bus - and there will be data from IDE disk - adapter logic will put it in reading mode when RAM write happens.  Price is need for small modification in ST(E) -  need to cut R/W line from CPU to MMU and lead 2 wires at that cut to CATA adapter. When it is not attached, you must shortcut it.
Even faster read:  I avoided movem because mentioned bug. But because need for more than 2.3MB/sec for movie playback, I found the way to use it - see more in another thread: 
http://forum.8bitchip.info/software-17/high-color-video-playback-on-ste/

More devices to ROM port at once ?  That is very unlikely - conflict is almost certain. With CATA for sure nothing else - it uses all signals and addresses for self. Not to mention possible signal degradation because more bus load.
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: paulwratt on 30-10-2012, 09:38:05
Nice explanation Petari, thanks

Quote
More devices to ROM port at once ?  That is very unlikely - conflict is almost certain. With CATA for sure nothing else - it uses all signals and addresses for self. Not to mention possible signal degradation because more bus load.

can you come up with a design (like an adapter manager) that would allow multiple CATA-style cartridges to be used. Just on paper ATM.

I mean similar to MSX cartridge extenders, 1 allows 4 (or 2) to be plugged in.

The design I mean: specifically this "extender" manages the write (and read?) according to your "tricks" for CATA

What I think is simplest (according to your last post) is 2x seperate CATA-style cartridge each with 32k EPROM. "Extender/Manager" allows 64k write. #1 is an IDE. #2 (network card) or (2nd IDE) or (custom grafix) etc..

Again I say "on paper", based on what your CATA development is doing.

I personally would love to see a 2 or 4 port adapter that can provide high speed write access to the cartridge port. That would greatly extend the life of ST & STE hardware into the 2020's



for the switch to replace the cut read/write line: Is it possible to use a "soft switch" so that the CATA IDE driver (or above extender driver) can set "we have write on cartridge port"

So the "real switch" would be:
 OFF (READ ONLY)
 PROGRAMABLE (selectable - READ ONLY/READ WRITE)

At power on PROGRAMABLE value is "READ ONLY" by default

(IDE) driver can auto-set "READ/WRITE" at startup. And that way you could also allow the driver to set "READ ONLY" via software (selected by the user) too.


Paul
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: Petari on 30-10-2012, 14:49:47
In principle, it would be possible to have attached multiple devices on cartridge port - if solve somehow by SW controlleable complete deactivating of device not used at moment. But then, we need new design of all such adapters + SW what can controll all that mess.  Sounds not realistic.
Additional problem, as already said is increased bus load - cart. port is connected directly to CPU. If we connect multiple devices, it may overload lines, causing less reliable work or even damage. And even deactivating devices not in use at moment will not decrease bus load.
All in all, it would be fine, but even if I would made new, more complicated design it is not enough.
And because CATA is made for speed, it is very sensitive on any additional bus load.

Conflicts between multiple devices on cart port will happen even if they work only in read mode. And in fact, there is never pure read mode with storage or NET adapters - you need to give commands to device what to read for instance - and it is write, of course. Reading data from hard disk is not like reading ROM - instead giving address, you write commands and parameters to IDE port. Similar is for sure with NET adapters too.

As only reasonable way to use old, very old Atari machines I see avoiding any overload. I even don't like to attach multiple devices on ACSI port. And why should I do it ?  On PC can copy data much faster.

If you need hard disk and NET at once, better go on 1 attached to ACSI, another to cart. port.

I don't get what exactly you mean about replacing cut read/write line. That cut is necessary only for readings - better said if want very fast readings, over 2MB/sec. For write it is not needed.
In driver is autodetection about it. What is visible in video at YT.

Read only is interesting only on TT, Falcon - and it is already in driver too.
 
Title: Re: Cartridge port IDE IF design finished (project CATA)
Post by: kovacm on 31-10-2012, 06:08:42
^ multi-ROM-port devices SOLVER:

(http://milan.kovac.cc/temp/expander.jpg)

:D :D :D

btw it is fine to have one device. don't bother with this!