Pico XTIDE CF based on  Sergey Kiselev's xt-cf-lite-v4 - Page 1
Forum section: electronics / general

author: anti77
author_rank: Newbie
timestamp: March 20, 2025, 11:08:51 am
content: Objective: design the simplest XTIDE CF with possibly just one IC and CF slot.I have some leftover PALCE 16V8, never programmed such, so I feel it would be a good start. Schematic attached, it's based on Sergey Kiselev's xt-cf-lite-v4 schematic fromhttps://github.com/skiselev/xt-cf-lite-v4/blob/main/KiCad/XT-CF-Lite-Schematic-4.0c.pdfThe PLD file reads something like:Code:Name Iodecode;Partno CA0010;Revision 02;Date 3/20/25;Designer me;Company none;Assembly PC Multi-Function;Location U1;Device G16V8AS;/************************************************************************//* This device generates the chip select signals for the I/O functions. *//* It also enables the data bus transceiver for both memory and I/O *//* write cycles. *//************************************************************************//** Inputs **/pin [1..6]= [a9..4] ;/* system addresses a4 - a9 */pin 9= !CF_DASP ;/* same signal as ioacc */pin 8= RESETDRV;/* for !CF_RESET*/pin 11= AEN ;/* ISA bus AEN*//** Outputs **/pin 13 = LED ; /* led driven from CF_DASP*/pin 16 = !CF_RESET ; /* inverted RESETDRV from ISA*/pin 18 = !CF_CS0 ; /* calculated CF_CS0*/pin 19 = !CF_CS1 ; /* calculated CF_CS0*//** Declarations and Intermediate Variable Definitions **/field ioaddr = [a9..4] ;xtioaddr1_eqn = ioaddr: ; /* I/O Address */xtioaddr2_eqn = ioaddr: ; /* Ranges */xtioaddr3_eqn = ioaddr: ; /*******************************/xtioaddr4_eqn = ioaddr: ;xtioaddr5_eqn = ioaddr: ;xtioaddr6_eqn = ioaddr: ;xtioaddr7_eqn = ioaddr: ;/** Logic Equations **/CF_CS0=( a4 # xtioaddr1_eqn)& AEN;CF_CS1=(!a4 # xtioaddr1_eqn)& AEN;CF_RESET=!RESETDRV;LED=!CF_DASP;For now no need for EPROM, that can be put on a network card, but I feel if PAL/GAL devices can decode addresses for that too. No need for jumpers/dip switches, as one can just reprogram the PAL/GAL.Any opinions? Would it work?

author: DiTBho
author_rank: Super Contributor
timestamp: March 20, 2025, 01:20:31 pm
content: dunno, what I can add to this topic is about microdrives:I am experimenting several issues with them.Found units that are 5V only and do not operate at 3.3V -> not a problem here, your CF is 5V.Found units that are 3.3V/5V (5V tollerant) -> not a problem here,Found units that are 3.3V-only -> serious problem here, they will be damagedFound units that are 3.3V/5V (5V tollerant), but have weird behaviors and need special handling.My advice is: don't buy MagicStore MDs.- Those >=4GB are are 3.3V-only- Those <=2GB are 3.3V/5V but have werd behavior.Also, there are CompactFlash units that are "ZONED", so don't map the LBA0 to zero.

author: anti77
author_rank: Newbie
timestamp: March 21, 2025, 06:18:19 am
content: Never laid hand on a microdrive, does it support 8 bit mode like CF cards do?Here how my card would look like:and

author: DiTBho
author_rank: Super Contributor
timestamp: March 21, 2025, 11:41:05 am
content: Quote from: anti77 on March 21, 2025, 06:18:19 amTechnically it is feasible if supported by the special ATA command "set feature", specifying "set 8bit mode" as the argument.All the Microdrives I have tried do not give any good feedback to "test" if a feature is supported or not, in fact they always apparently accept the command, but then it is not said that it has actually been executed, because the firmware does not always raise the error bit in status register, and worse still, it is not even always possible to execute the "sense status" command to have more information, such as, "command aborted?", because, again, it may be not supported.About this, MagicStore MDs are pure garbage.Seagate and Hitachi MDs have a lot of quirks.With microdrives it is a real mess to understand, from the datasheet, if a feature will be supported or not; the datasheets are very vague and I discovered that the real hw is often very different, to the point that if you find the label "refurbished to xxxx specs" sticked on the MD, well... it is certain that actual specs diverge from what is declared in the datasheet.e.g. The Hitachi datasheet says their MDs are 3.3V/5V compatible, in practice only some are that way, it's written no where how to recognized them.The same applies to the "special power mode", which allows a microdrive to stay in active mode rather than entering in standyby mode and "spinning down" the motor to consume less energy, some really allow to always stay in "active mode", some do not. Some specifiy they don't support this feature and you can know it by issuing a "ata identify" command, some don't allow you to know anything.

author: DiTBho
author_rank: Super Contributor
timestamp: March 21, 2025, 11:50:44 am
content: "microdrive, after 5 min of inactivity ata identify says the capacity is 0 byte", seehere(MagicStore MDs)"pata hba that only accepts lab>0 is it possible?", seehere(some weird CF-flash in ATA true-mode)"pata disk responds to identify but panics on any block read-attempts", seehere(Seagate MDs)"hdd with the pn removed because refurbished to xxx specs isn't crazy?", seehere(Toshiba 1.8", but also Hitachi MDs)

author: DiTBho
author_rank: Super Contributor
timestamp: March 21, 2025, 11:53:30 am
content: Quote from: anti77 on March 21, 2025, 06:18:19 amit looks very nice!

author: anti77
author_rank: Newbie
timestamp: March 25, 2025, 08:52:10 am
content: After a bit of thinking added back EPROM socket. It's up to the user if it is used or not. It needed a bit more pins on the CPLD so switched to GAL20V8. This is not produced, but still available on aliexpress (used in C64 PLA20V8 projects for example). I still have to write the PLD file for it.Looks nice and simple:Made it public:https://github.com/yo5ptd/xt-cf-pico

author: coromonadalix
author_rank: Super Contributor
timestamp: March 25, 2025, 09:04:26 am
content: can the images zoomed out or at least half or a third of their sizes ??

author: anti77
author_rank: Newbie
timestamp: March 25, 2025, 09:28:21 am
content: I can see the issue.Let's try with a resized and cropped schematic: