RE: Multi disk emulator
Date: 2003-12-05 08:26:20

Hello Ruud,
With 64HDD I have found you need to have support for 16channels (secondary
addresses) for each device number, and keep track of all.
You can handle the situation you mention by "holding-off" the C64 until you
complete any internal operations. On the serial bus this is done by holding
the DATA line active (low) and the C64 won't be able to send any new
instructions until the internal operation is done, and the line freed (at
least that's how I remember doing it...). The parallel IEC bus would have a
similar "hold-off" method, just not sure which signal line is used....
- Nick

-----Original Message-----
From: Baltissen, GJPAA (Ruud) []
Sent: Friday, 5 December 2003 2:52 PM
To: ''
Subject: Multi disk emulator

Hallo allemaal, 

I want to expand my 4040-emulator so one PC can emulate more then one drive.
So I need an unique thing to handle requests coming from the CBM. 

My question: is device and channel unique enough? 

When giving the command OPEN 1,8,15,"V" you cannot use file 1 again because
the C= will reject it with FILE IS OPEN error. (or something like it. I'm
not at home, so I cannot check it) So I thought "Eureka!" but then I
wondered what would happen if you gave the command OPEN 3,8,15,"I" while the
floppy still was validating the disk. 

Last evening I tried the above in al little BASIC program on my C64: 

10 open 1,8,15,"v0" 
20 print "aaaaa" 
30 open 3,8,15,"i0" 
40 print "bbbbb" 
50 close 1 : close 3 

This worked so far that the "aaaaa" was displayed and the C64 had to wait
until the validate was finished. In other words, the drive refused to accept
any other command until its present task is finished.

Hmmm, just popped in my mind: I could also have said '30 print#1,"i0"' which
IMHO would have ended in the same behaviour.

The consequence of running more then one device/drive on a PC is that as
long as the PC is busy with something, it is blocked for further commands.
There is only one thing I worry about. I'm reasonably sure there a way to
make two drives exchange data with each other directly. Thus no
'load"xxxx",8' and 'save"xxxx",9' where the CBM serves as a buffer but a
direct data exchange.  I'm afraid that that is out of the question for the

Thanks for any info/comment. 

   / __|__ 
  / /  |_/     Groetjes, Ruud 
  \ \__|_\ 
   \___| <>  


De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd
voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken
wij u contact op te nemen met de afzender per kerende e-mail. Verder
verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud
ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid
voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van
een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

The information contained in this e-mail is confidential and may be
privileged. It may be read, copied and used only by the intended recipient.
If you have received it in error, please contact the sender immediately by
return e-mail; please delete in this case the e-mail and do not disclose its
contents to any person. We don't accept liability for any errors, omissions,
delays of receipt or viruses in the contents of this message which arise as
a result of e-mail transmission. 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Your Engineering Solutions Provider
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

The contents of this email (including any attachments) may be
privileged and confidential. Any unauthorised use of the contents
is expressly prohibited. If you have received this email in error,
please advise us immediately (you can contact us by telephone
on +61 8 9441 2311 by reverse charge) and then permanently
delete this email together with any attachments. We appreciate
your co-operation.

Whilst Orbital endeavours to take reasonable care to ensure
that this email and any attachments are free from viruses or other
defects, Orbital does not represent or warrant that such is explicitly
the case

(C) 2003: Orbital Engine Company (Australia) PTY LTD and its

       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.