193 lines
7.8 KiB
Plaintext
193 lines
7.8 KiB
Plaintext
Smartport Virtual Hard Disk, version 0.99.0 (beta), 2010-05-14
|
|
|
|
|
|
1) DISCLAIMER
|
|
|
|
The information is provided by the author and while he endeavour to keep the
|
|
information up to date and correct, the author make no representations or
|
|
warranties of any kind, express or implied, about the completeness, accuracy,
|
|
reliability, suitability or availability with respect to this project or the
|
|
information, products, services, or related graphics contained in this project
|
|
for any purpose. Any reliance you place on such information is therefore
|
|
strictly at your own risk.
|
|
In no event will the author be liable for any loss or damage including without
|
|
limitation, indirect or consequential loss or damage, or any loss or damage
|
|
whatsoever arising from loss of data or profits arising out of, or in connection
|
|
with, the use of this project.
|
|
|
|
|
|
2) PREAMBLE
|
|
|
|
What apple 2c owner have never did this dream ? No more floppy swaping ! All is
|
|
in the hard drive ! This was my first motivation to develop this project.
|
|
But I must warn you, this software is in an earlier stage, ie beta version,
|
|
always keep a backup of your data !
|
|
This software is free and I'm happy to share it at no cost, but if you are so
|
|
happy that you would like to support my efforts :) you can credit my paypal
|
|
account (pcedric@hotmail.com).
|
|
|
|
|
|
3) GOAL OF THE PROJECT
|
|
|
|
It emulate a smartport device for your apple 2, reusing an old PC. A smartport
|
|
device is a mass storage up to 8GBytes size. Nevetheless, the maximum size
|
|
usable by Prodos is 32MBytes. Other operating system could require some tricks
|
|
to use such mass storage.
|
|
|
|
|
|
4) HOW IT'S WORKING
|
|
|
|
At this stage of the developpement, the emulation is done on a PC, wich is
|
|
connected to the apple 2's smartport trough the parallel port using a specific
|
|
cable. The apple 2 see a smartport device and is able to read, write, format and
|
|
even boot from it. Many improvements are planned, look at the end of this
|
|
document.
|
|
|
|
|
|
4) REQUIREMENTS
|
|
|
|
Hardware:
|
|
- a PC powered by from Pentium to Pentium 4 or equivalent processor
|
|
- the cpu frequency must not change during the emulation
|
|
- an hard disk formated with FAT16, that could host the 32MB image file
|
|
- the specific cable connecting the apple 2 smartport to the PC parallel port
|
|
|
|
Software:
|
|
- the operating system must be DOS, like FreeDOS
|
|
- no TSR are supported (smartdrive, mouse drivers, and so on,
|
|
your config.sys and autoexec.bat must be nearly empty)
|
|
- this software will not work in a virtual machine
|
|
|
|
The software was tested succesfully on the following processors:
|
|
- Pentium 120
|
|
- Pentium 200MMX
|
|
- Athlon XP 2000
|
|
The test failed with the following processor:
|
|
- Core2duo E6400
|
|
|
|
|
|
3) SPECIFIC CABLE
|
|
|
|
Within the doc folder, you will find schema to make the cable. The type A cable
|
|
is the easier to do, but your apple 2 will not boot until the PC is powered on,
|
|
and it could damage your hardware as the parallel port could have totem pole
|
|
ouputs and the smarport require open collector output. The type B cable take
|
|
care of this but require additionnal electronic.
|
|
It's possible to use the cable of an existing 3.5 drive and add needed change,
|
|
it's what I did for the prototype.
|
|
|
|
|
|
4) QUICK START
|
|
|
|
a) Make your home made specific cable and connect your old PC to the apple 2.
|
|
b) Get the floppy image and write to a floppy disk using raw write under windows,
|
|
or dd under linux.
|
|
c) Boot the old PC with the newly created floppy disk
|
|
d) At the command prompt, type vhd f=<your cpu frequency>
|
|
e) Boot your apple 2 with mousedesk or your prefered prodos disk utilities
|
|
f) format the new drive, should be located in slot 5 drive 1
|
|
g) copy your softwares on the newly formated prodos volume
|
|
h) remove all floppy disk from the apple 2 and reboot it !
|
|
|
|
|
|
5) USAGE
|
|
|
|
Simply start vhd.com with the parameter f=<your cpu frequency>.
|
|
For example, if the PC your would use is equiped with a Pentium III 500, type
|
|
the following: vhd f=500
|
|
|
|
Beware that some CPU don't run at the expected frequency, for example, the
|
|
Athlon XP 2000 is running at 1666MHz, so for this cpu the command line become
|
|
vhd f=1666
|
|
|
|
The frequency parameter could be altered as motherboard don't provide an exact
|
|
frequency. So, you could try a value decreased or increased by 1 or 2 MHz if it
|
|
don't work as expected.
|
|
|
|
It will create a new image file, named hd1.img, if it doesn't already exist,
|
|
then it will take control of the parallel port to decode and respond to all
|
|
smartport request from the apple 2.
|
|
|
|
During emulation, the screen will be filled with stranges codes. This allow to
|
|
follow activities and see what happen if something goes wrong.
|
|
|
|
Displayed codes are:
|
|
R. Succesfully received a read request
|
|
W. Succesfully received a write request
|
|
D. Succesfully received a data packet
|
|
S. Succesfully received a status request
|
|
Ss Succesfully received a device status request
|
|
Sc Succesfully received a device conrol block request
|
|
Si Succesfully received a device information block request
|
|
F. Succesfully received a format request
|
|
R: Error when receiving a read request
|
|
W: Error when receiving a write request
|
|
D: Error when receiving a data packet
|
|
P: Error when when seeking within the disk image
|
|
?: Undefined error
|
|
C: Crc error when decoding a packet
|
|
#: Buffer overflow
|
|
T: Timeout waiting a packet
|
|
@: Packet format error
|
|
|
|
When the apple 2 is down, it's normal to see T: displayed continuously.
|
|
When the apple 2 is booting, the message 'Got id' should be displayed, if this
|
|
is not the case, reset the apple 2 to get this message displayed. If this
|
|
message is never displayed, something is wrong with the cable, or the frequency
|
|
given as parameter is wrong.
|
|
|
|
If you start VHD from the floppy drive, it could be necessary to reboot the
|
|
apple 2 because an access to the floppy will be done after the start, wich could
|
|
break a data exchange with the apple 2.
|
|
At any time, you could hit the escape key of the PC to stop the emulation.
|
|
Better to do this after the shutdown of your apple 2 to avoid data losses.
|
|
|
|
|
|
6) ISSUES
|
|
|
|
Q) The PC freeze
|
|
A) Smartport VHD is not compatible with your hardware, please report it at
|
|
pcedric@hotmail.com.
|
|
|
|
Q) The apple 2 freeze accessing the smartport VHD
|
|
A) This could arise if you started smartport VHD from the floppy disk, or if you
|
|
stroke some keys on the PC keyboard. Reboot the apple 2.
|
|
|
|
Q) The PC display a lot of C: and @: symbols
|
|
A) There is a synchronisation problem, retry by reducing or increasing the
|
|
frequency given on the command line by step of 1Mhz. When the synchronisation is
|
|
perfect, the PC should not display any C: nor @: symbols.
|
|
|
|
Q) The PC display continuously the symbols T:
|
|
A) This is the normal operation, showing the smartport VHD is running and
|
|
waiting requests from the apple 2.
|
|
|
|
Q) An external phantom drive appear in slot 6 drive 2
|
|
R) Smartport VHD don't handle all functions of the external floppy connector at
|
|
the current stage. It will be fixed in a futur release but require some changes
|
|
in the specific cable.
|
|
|
|
|
|
7) ASSEMBLING FROM SOURCE
|
|
|
|
NASM 2.xx must be installed and in the path. Start make.bat or make.sh to
|
|
assemble the software from the sources. A vhd.com file must be created at the
|
|
end of the process. If you would like to be involved in the project, or simply
|
|
get my own documentation to help you in your smartbus project, contact me at
|
|
pcedric@hotmail.com.
|
|
|
|
|
|
6) PLANNED AND POSSIBLE EVOLUTIONS
|
|
|
|
- update the 486 version to get it working again
|
|
- add support for daisy chain
|
|
- add floppy emulation
|
|
- add emulation of more than one hard disk
|
|
- add a bootstrap allowing to select the boot device directly from the apple 2
|
|
- add support for extended smartport protocol
|
|
- create a smartport to parallel port bridge (apple 2 <-> PC)
|
|
- create a smartport to usb bridge (apple 2 <-> PC)
|
|
- create a usb to smartport bridge (apple 2 <-> usb card reader, usb harddisk)
|
|
- create a standalone smartport mass storage
|
|
|