Hello PoFo-enthousiasts,

It's been about a week now that I've reported the first driver
for CompactFlash modules. In the mean time quite little has
happened as far as development is concerned. The big problem is
that the driver, now v0.02, simply works. With the IDE interface
i could report modifications, changes and yes/no running disks
quite often, but this thing has proved to be rather problem-free.
At this moment there's not many reasons to change anything. I
have only one pofo with this interface and only one CF-module, so
this could hardly count as a strict field test. I am waiting for
components to make a second interface for the workhorse pofo (the
first interface is built into the Hardware EXperimentation pofo,
alias HEX). The experience with HEX makes me confident enough to
invite anyone interested to copy the design. Perhaps other
CF-modules could provide some surprises, but this SanDisk 8MB
module with the driver v0.02 causes no problems at all. The thing
is obviously ready for beta-testing. A version number of 0.02 is
not what you'd perhaps expect for beta-test software, but what
else can I do? This is the second version of the source code that
came through the assembler.

I've worked with this CF-interface quite a lot by now. Loaded my
assemblers (8051 and 6800 assembler) onto the module and
assembled some files, downloaded all the other pofo-software and
data I have for a pofo onto the disk, and... well: nothing
happened. The pofo seems to perfectly happy running programs from
the disk. By now, i've loaded some 450KBytes of data and code
onto the disk and it simply does what is to be expected.

There are some 'anomalities':

  The pofo's chkdsk gets highly confused about the amount of disk
  space that files use. That is in itself nothing new: PoFoIDE
  displayed the same behaviour. The chkdsk program simply does
  not understand that there is more than one sector per cluster,
  and gets it's answers all wrong. The free disk space seems ok,
  but the disk space used by files and/or directories does not
  match the difference between the total disk space and the free
  disk space.

  A bug is the fact that the thing will probably crash if you try
  to make too many files in a directory. That has been observed
  with PoFoIDE too, and it's caused by a flaw in the PoFo's BIOS
  code. That problem is well known, but I've got no real solution
  for it. If anyone can provide me with a dump of a pofo ROM
  version 1.34x that problem should go away.

  MDEXTERN and ATMD are needed to let the pofo make directories
  on such a multi-sector-per-cluster disk. Both programs are
  included here, so that should not be a real problem.
  
I have a small and not so good digital camera now, so i've
included some pictures of the interface hardware. I've also made
a rather silly circuit diagram of the hardware. Don't expect too
much: how much of a circuit diagram can you make of a circuit
that consists of a 74HC138, a connector and some wires? The
circuit diagram has been made using the 'Eagle' freeware version.
(www.cadsoft.de) Quite a big gun to use for such a small circuit,
but i've grown rather fond of the program; and it's freely
downloadable for anyone who's interested. I'll include the
pofocf.sch file in this distribution.

The distribution of PoFoIDE 1.02 contains a description of how to
initialise this kind of contraptions. I've slightly modified this
text to match PoFoCF, and provided it here too.

At this moment the entire development of PoFoCF has come to a
standstill due to a lack of problems. I'm hoping someone out
there will copy this design and provide information, good or bad
news as to his/her experiences.

bye,

Peter Faasse

