VZ200 - VZ300 5.25" floppy format support?

Have an idea how to make KryoFlux even better? Let us know...
gizmomelb
Posts: 12
Joined: Sat Nov 20, 2010 8:00 am

VZ200 - VZ300 5.25" floppy format support?

Post by gizmomelb »

Hi,

I'd like to request whether support for the Dick Smith VZ200 (or later model VZ300) floppy disk format could be added please?

summary of the technical specifications of the format from pages 31 and 32, of the techincal PDF here: http://users.on.net/~clockmeister/VZ300 ... ef-man.pdf

-VZ200/300 DOS uses FM encoding
-the drive spindle rotates at 85rpm
-the disk has 40 tracks, 16 sectors per track, each sector may contain 128 bytes
-sectors are arranged into a 2-sector interleave sequence to reduce the access time. the sequence of the sector arrangements is: 0, 11, 6, 1, 12, 7, 2, 13, 8, 3, 14, 9, 4, 15, 10, 5.
-each sector is subdivided into fields (please see page 31 of PDF for diagram)
-track 0= the outermost track
-track 39=the innermost track
-a data bit between two clock bits represents a data 1, no data between clock bits represents data 0
-each bit cell (click, data, clock) totals 32.2uS in length
-a clock bit is 1uS in length
-a data '1' bit is 12us after the click bit

if you want me to scan a disk and upload it, please give me details of which command line options I should use and where I should upload the image.

thank you.
User avatar
mr.vince
Posts: 2142
Joined: Tue Oct 05, 2010 5:48 pm

VZ200 - VZ300 5.25" floppy format support?

Post by mr.vince »

Please make a test dump using:

DTC -fFILEMAME -i0 -i2

Then zip it and please put on FTP..,
User avatar
IFW
Posts: 3080
Joined: Mon Nov 08, 2010 2:42 pm

Re: VZ200 - VZ300 5.25" floppy format support?

Post by IFW »

Preferably, get more than just one disk dumped, especially if there are different disk types, like Emulator.
gizmomelb
Posts: 12
Joined: Sat Nov 20, 2010 8:00 am

Re: VZ200 - VZ300 5.25" floppy format support?

Post by gizmomelb »

thank you for the help, I'll image the few discs I have as soon as possible.

I was given the VZ300 with disk drive etc. by my father in law, it belonged to a friend of his who recently passed away, so it'd be nice to preserve the code on the discs as apparently he was very involved with the Australian VZ programming scene. The disk drives for the VZ (also known as the Laser 210 and Laser 310) were apparently quite rare even in their heyday, so it'll be nice to archive this little slice of computing history.

EDIT: oh what's the address of the FTP please?
User avatar
IFW
Posts: 3080
Joined: Mon Nov 08, 2010 2:42 pm

Re: VZ200 - VZ300 5.25" floppy format support?

Post by IFW »

I checked the manual, and unfortunately the only thing this system has in common with FM recording as present in any disk drive (including even the Emulator samplers which are deliberately incompatible with anything) is the theory of data encoding... it's completely custom, and incompatible with any kind of standards (e.g. flux reversal in the middle of the cells etc) - if what is written in the manual is fully correct. TBH some part of what they write is questionable, as e.g. the flux reversal signal is marked to have an 1us duration on the disk, while in reality the duration is the width of a cell - the signal itself have a duration - I somehow doubt that they invented new recording methods for the machine ;)

It is also concerning that they mention checksums, but no explanation is given about how they are calculated - it can be something completely ad-hoc with zero chance of guessing the method...

If there was either a better/more correct/detailed explanation, or the DOS rom disassembled and commented that would certainly help - reverse-engineering the DOS can take a lot of time and effort.

We'll see what's on the disks for real once they are dumped.

Please submit a ticket at http://www.softpres.org/contact for further details.
User avatar
IFW
Posts: 3080
Joined: Mon Nov 08, 2010 2:42 pm

Re: VZ200 - VZ300 5.25" floppy format support?

Post by IFW »

Please also dump a freshly formatted disk, probably "init" command.
gizmomelb
Posts: 12
Joined: Sat Nov 20, 2010 8:00 am

Re: VZ200 - VZ300 5.25" floppy format support?

Post by gizmomelb »

IFW - thanks for the info. I'm sure I have seen a dissassembly of the VZ DOS ROM (z80), I'll see if I can find it again.

Haven't had time to image the disks yet, maybe this weekend.. sorry but it's mega busy for me with work at the moment :(
gizmomelb
Posts: 12
Joined: Sat Nov 20, 2010 8:00 am

Re: VZ200 - VZ300 5.25" floppy format support?

Post by gizmomelb »

ok the VZ300 emulator authors have been quite helpful with providing the following information regarding VZ / Laser / Vtech formatted disks, I hope some of it is of use :) (actually, looks like some replication of what's in the technical manual PDF I posted a link to earlier).


1. DOS DIRECTORY STRUCTURE

The DOS uses TRK 0, sector 0 to sector 14 as the directory.
TRK 0 sector 15 is used to hold the track map of the disk with
one bit corresponding to a sector used. Each directory entry
contains 16 bytes. Therefore 1 sector can hold 8 entries and 1
diskette can have a maximum of 112 entries.

File type 1 byte
Delimitor (3AH) 1 byte
File name 8 byte
Start address 2 byte
End address 2 byte
Start track 1 byte
Start sector 1 byte


2. DISKETTE FORMATTING

The VZ200/300 DOS initializes the diskette into 40 tracks, with 16 sectors per track. They number from 0 to 39, track 00 being the outermost track and track 39 the innermost, The stepper motor (which moves the R/W-head arm) can position the disk arm over 80 'phases'. To move the arm from one track to the next, two phases of the stepper motor must be cycled. The DOS uses only even phases. Programmers may use this feature to generate protected disks by using odd phases or combinations of the two, provided that no two tracks are closer than two phases from one another. See the section on the disk controller I/O addresses for the control of the stepping motor.

The DOS subdivides the track into 16 sectors. It is the smallest unit of 'updatable' data on the diskette. The DOS reads or writes a sector at a time. This is to avoid using a large chunk of memory for a buffer to read or write an entire track. The DOS uses 'soft sectoring' to divide a track into 16 sectors without the use of the INDEX hole of the disk. Each sector may contain 128 bytes of data, sectors are arranged into a 2-sector interleave sequence to reduce the access time. The sequence of the sector arrangement is: 0, 11, 6, 1, 12, 7, 2, 13, 8, 3, 14, 9, 4, 15, 10, 5. Each sector is subdivided into fields. See the following diagram for the structure of a sector and a track.



3. RECORDING TECHNIQUE

The VZ200/300 DOS uses the recording technique of FM (frequency modulation) to write data on the diskette. In FM format, each data bit is enclosed within a bit cell. When data is read back from the diskette it takes the form of the following diagram.

As the diagram shows, the data bits (if present) are interleaved. The presence of a data bit between two clock bits represents a binary 1, the absence of a data bit between two clock bits represents a binary 0. The timing of each bit cell is shown below:

In the DOS the length of each cell is 32.2uS with the data bit appearing 13uS behind the clock bit.

Due to the low signal transfer rate, the spindle rotation speed is reduced from 300 RPM (as in other drives) to 85 RPM to keep a high recording capacity.



5. VZ200/300 DISK CONTROLLER (this is an extract of the Disk Controller manual)

This is a plug-in port-mapped device capable of supporting two X-7302 disk drives.
The Disk Controller occupies the I/O address space from 10 Hex to 1F Hex of the port map.

Effectively only 4 I/O locations are used to control and read back data from the Disk Drives.

I/O address Function

10 Hex Latch (write-only)

Bit 0 - 3: Stepper-motor control phases (active HIGH)
Bit 4: Drive 1 enable.(active LOW)
Bit 5: Write data (active HIGH)
Bit 6: Write request (active LOW)
Bit 7: Drive 2 enable (active LOW)


11 Hex DATA (read-only)

Bit 0 - 7: Data byte read from disk


12 Hex POLLING (read-only)

Bit 0 - 6: not used
Bit 7: clock bit polling input


13 Hex WRITE PROTECT STATUS (read-only)

Bit 0- 6 : not used
Bit 7: 1 = write-protect
0 = no write-protect




VZ200/300 DISK DRIVE

General Operation

The X-7302 VZ200/300 floppy disk drive consists of read/write, control and drive motor electronics, drive mechanism, read/write head, and track positioning mechanism. These components perform the following functions:

i) Receive and generate control signals

ii) Position of the read/write head to the desired track

iii) Read/write of data

iv) Control of drive motor speed



READ/WRITE and CONTROL ELECTRONICS

The three electronic boards contain:

i) Stepper motor driver

ii) Write amplifier

iii) Read amplifier and control circuits

iv) File protect sensor

v) Drive enable circuit

vi) Drive motor control circuit



DRIVE MECHANISM

The drive motor rotates the spindle at 85 rpm through a beltdrive system. The speed of the motor is controlled by a tachofeedback servo circuit. A hub clamp that moves in conjunction with the door closure mechanism centres and clamps the floppy disk onto the spindle hub.



R/W HEAD POSITIONING MECHANISM

The R/W head is positioned to the desired track by applying the control signals to the stepper motor. The connection between the head carriage and the stepper motor is through a steel belt. The stepper motor rotates 2 steps per track.



R/W HEAD

The R/W head is used to read/write data to and from the floppy disk. The R/W head is mounted on the head carriage which moves on rails and is positioned by the stepper motor. The floppy disk is held on a plane perpendicular to the R/W head.



TRACK 0 STOPPING MECHANISM

After powering on and track location failure, the position of the R/W head is indeterminant. In order to assure proper positioning of the R/W head after powering on, a step-out operation (recalibration) is performed until it is locked at track 00 by the track 00 stopper.



DRIVE SELECTION

The drive is selected by activating the -BENBL line. After being selected, the drive motor and the LED on the front panel bezel will be on.



FILE PROTECTION MECHANISM

The file protect mechanism is constructed with a LED and phototransistor to detect the existence of the write enable notch of the disk jacket. When a disk with the notch covered is installed and the light passing for detection is disturbed, no write or erase current will flow through the R/W head. The recorded information on the disk is protected from an erroneous input of a write command.



FUNCTION of TEST POINTS

i) TP1, TP3 PCBA Control and R/W amplifier.

Test points for observing the read pre-amplifier output signals after passing through the low-pass filter. Hence TP1 and TP3 are used for the check and adjustment of the head seek mechanism. ie track alignment.


For observation of the read waveforms, use two channels of an oscilloscope with one channel set to INVERT mode and then ADD both channels. Use test point TP2 for the oscilloscope ground. This method will display full 'balanced' signal, if these modes are unavailable on oscilloscope then observe waveform using single oscilloscope channel from either TP1 or TP3 and TP2 as ground.


ii) TP2, TP5 are both system ground terminals.

iii) TP6 is a test point for observing read data pulses.

iv) TP4 is not used.



FUNCTION of VARIABLE RESISTORS

i) VR1 PCBA control and R/W amplifier
VR1 is used for adjusting peak shift of the read data.

ii) VR2 PCBA drive motor
VR2 is used for adjusting the rotational speed of the spindle.



TROUBLESHOOTING GUIDE

TOOLS and EQUIPMENT

i) Dual channel oscilloscope with Differential Mode input (ie ADD, INVERT), of 1OMHz or better
ii) Frequency counter
iii) VZ200/300 and Disk Controller
iv) Software: DISK CONTROL program (for controlling the stepping motor to move the R/W head for alignment and TRK 00 recalibration). Refer to suggested listing)
v) DYSAN 48 TPI alignment disk. (#206-10)
vi) Cleaning disk (if available)
vii) Working disk
viii) Another VZ200/300 Disk Drive (used as working disk)
ix) Screwdrivers: PHILIPS screwdriver, 5mm Blade screwdriver, 3mm
X) Hexagon wrench key, 1.5mm
xi) Locking agent (ie nail-polish)



GENERAL PROCEEDURE

i) Remove the top and bottom cases by removing securing screws under unit.
ii) Set up the computer with the working drive as Drive 1 and the Drive under test as Drive 2.
iii) Connection and disconnection of connectors.
iv)
Note-complete orientation and position of connectors before removing-them. Be sure to turn the power OFF before connecting or disconnecting the connectors. When plugging or removing connectors, this should be done without applying excessive force to the cables or post pins.
iv) If the LED on the front bezel is ON but the Drive Motor remains stationary, check that the connectors are securely connected.



CHECK and ADJUSTMENT of DISK ROTATION SPEED.

i) Install Alignment Disk in disk drive to be checked. Select DRIVE by typing DIR command.
ii) Use the Frequency Counter to monitor the output of test point TP1 (Ground on TP2).
iii) The reading of the frequency counter should be 35.417 kHz.
If the frequency is off by more than 1 kHz (approx 3%) then adjust VR2 on the Drive Motor PCB.
iv) After checking that this measurement is satisfactory, fix VR2 with a small drop of locking agent.



CHECK and ADJUST of TRACK ALIGNMENT

i) connect two channels of the oscilloscope to TP1 and TP3 on the Control and R/W amplifier PCB.
ii) oscilloscope setting:2OmS/division, CH.A and CH-B both AC mode .5V/division
iii) Set one Channel to INVERT and.ADD both channels.
iv) Load the DISK DRIVE CONTROL program.
v) Install the Alignment disk in the Drive to be tested.
vi) Using the control program, send the head carriage to TRK 16.
vii) The lobe patterns displayed should be within 70% of each
other, see diagram below. If they are, then no adjustment is required. If they are not, then proceed with adjustment.
viii) Loosen the stepper-motor fixing screws and while observing the waveform, turn the stepper motor to correct the lobe pattern.
ix) Check that the adjustment is stable by stepping off TRK 16 in both directions and returning.
x) once corrected and stable, tighten the stepper-motor fixing screws, and seal with a small amount of locking agent.



CHECK of FILE PROTECT SENSOR

i) Load Disk control Program
ii) Insert a work disk without a write-protect tab, halfway into the disk drive.
iii) Use the 'P' command to check the drive status. The message 'DISK IS WRITE PROTECTED' should appear.
iv) Now fully insert and close door, the message 'DISK IS NOT WRITE PROTECTED' should appear.

NOTE: If any of the above adjustments do not rectify the Disk Drive's problem, then return the Drive to a Dick Smith Service Dept for a detailed diagnosis.



PREVENTIVE MAINTAINANCE

If the DISK DRIVE is used in a dusty environment, it is suggested that a periodic cleaning is made of the magnetic-head suface.

i) Setup DISK DRIVE in position 2.
ii) If a CLEANING DISK is available, insert this and using the DISK CONTROL program move the R/W HEAD between track 00 and the innermost track several times.
iii) If CLEANING DISK is unavailable. Remove covers to gain access to R/W HEAD assembly.
iv) Use a cotton swab lightly dampened with pure alcohol. Carefully lift the HEAD LOAD PAD ARM and clean the R/W Head and surrounding area. Wipe the HEAD surface with a clean dry cloth after the alcohol has evaporated. Be sure to inspect the area for dirt or fluff left on the HEAD surface, before letting the HEAD LOAD PAD ARM down.
v) Reassemble and check for normal operation.



LISTING OF DISK CONTROL PROGRAM

10 REM DISK CONTROL PROGRAM
20 REM A. LATCH CONTROL -----
30 REM I/O ADR:10H
40 REM BIT 0 - BIT 3:
50 REM STEPPER PHASE CONTROL
60 REM BIT 4:DRIVE 1 ENABLE
70 REM BIT 5:WRITE DATA
80 REM BIT 6:WRITE REQUEST
90 REM BIT 7:DRIVE 2 ENABLE
100 REM B. DATA STROBE -----
110 REM I/O'ADR : 11H
120 REM BIT 0 - BIT 7:
130 REM DATA BYTE READ FROM
140 REM DISK DRIVE
150 REM
160 REM C. POLLING -----
170 REM I/O ADR : 12H
180 REM BIT 0 - BIT 6:
190 REM NOT USED
200 REM BIT 7: CLOCK BIT
210 REM POLLING INPUT
220 DIM D(4)
230 CLS
240 PRINT:PRINT TAB(6)"DISK CTRL PROGRAM"
250 PRINT
260 PRINT:PRINT TAB(6)"COMMANDS:"
270 PRINT:PRINT TAB(6)"R RECALIBRATION"
280 PRINT TAB(6)"G GOTO TRACK
290 PRINT TAB(6)"I STEP IN
300 PRINT TAB(6)"O STEP OUT
310 PRINT TAB(6)"P CHECK WRITE PROTECT"
320 PRINT TAB(6)"Q QUIT"
330 PRINT:INPUT "COMMAND ";A$
340 IF A$="R" THEN GOSUB 410
350 IF A$="I" THEN GOSUB 560
360 IF A$="O" THEN GOSUB 700
370 IF A$="G" THEN GOSUB 900
380 IF A$="Q" THEN GOSUB 870
390 IF A$="P" THEN GOSUB 1070
400 GOTO 330
410 REM - RECALIBRATE R/W HEAD
420 P=O
430 OUT 16,192
440 FOR J=l To 24
450 FOR I=3 TO 0 STEP -1
460 D(I)=l:GOSUB 1050
470 OUT 16,192+LA
480 D(I)=O:GOSUB 1050
490 OUT 16,192+LA
500 NEXT
510 NEXT
520 D(O)=l:D(1)=O:D(2)=O:D(3)=O
530 OUT 16,193
540 TC=O
550 GOSUB 840:RETURN
560 REM MOVE THE R/W HEAD TO
570 REM INNER TRACKS
580 IF TC=39.5 THEN RETURN
590 D(P/2)=O
600 GOSUB 1050
610 OUT 16,192+LA
620 P=P+2
630 IF P=8 THEN P=O
640 D(P/2)=l
650 GOSUB 1050
660 OUT 16,192+LA
670 TC=TC+.5
680 GOSUB 840
690 RETURN
700 REM - MOVE THE R/W HEAD
710 REM TO THE OUTER TRACKS
720 IF TC=O THEN RETURN
730 D(P/2)=O
740 GOSUB 1050
750 OUT 16,192+LA
760 P=P-2
770 IF P=-2 THEN P=6
780 D(P/2)=l
790 GOSUB 1050
800 OUT 16,192+LA
810 TC=TC-.5
820 GOSUB 840
830 RETURN
840 REM - SHOW TRACK NUMBER
850 PRINT "TRACK = ";TC
860 RETURN
870 REM - EXIT THE PROGRAM
880 OUT 16,40:END
890 REM - MOVE THE R/W HEAD TO THE DESIRED TRACK
900 INPUT "ENTER TRACK NUMBER =";TN
910 IF (TN>39.5) OR (TN<O) THEN GOTO 900
920 TT=TN-TC
930 IF TT<=O THEN 990
940 TT=TT*2
950 FOR CN=l TO TT
960 GOSUB 560
970 NEXT
980 RETURN
990 IF TT=TC THEN RETURN
1000 TT=TT*(-2)
1010 FOR CN=l TO TT
1020 GOSUB 560
1030 NEXT
1040 RETURN
1050 IA=D(3)*8+D(2)*4+D(1)*2+D(O)
1060 RETURN
1070 WP=INP(19)
1080 IF WP>127 THEN PRINT "DISK IS WRITE-PROTECTED"
1090 IF WP<128 THEN PRINT "DISK IS NOT WRITE-PROTECTED"
1100 RETURN
User avatar
IFW
Posts: 3080
Joined: Mon Nov 08, 2010 2:42 pm

Re: VZ200 - VZ300 5.25" floppy format support?

Post by IFW »

It's simply what's in the manual - nothiung new on the points I raised... e.g. unknwon checksum algorithm(s), completely non-standard recording etc.
gizmomelb
Posts: 12
Joined: Sat Nov 20, 2010 8:00 am

Re: VZ200 - VZ300 5.25" floppy format support?

Post by gizmomelb »

ok, well after months of rain, floods and cyclones - I've finally had some VZ floppy disks delivered to me and I've archived them using:

DTC.EXE -fFILENAME -i0 -i2

as requested.

So, where do I upload them please?
Post Reply