Megalextoria
Retro computing and gaming, sci-fi books, tv and movies and other geeky stuff.

Home » Digital Archaeology » Computer Arcana » Apple » Apple II » SVA ZVX4 8" disk controller
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
SVA ZVX4 8" disk controller [message #97811] Fri, 19 July 2013 07:16 Go to next message
Steven Hirsch is currently offline  Steven Hirsch
Messages: 798
Registered: October 2012
Karma: 0
Senior Member
Just grabbed one of these on eBay. Does anyone have the support software
and/or docs? I found a posting from a user named "Arf the Lab" on
AppleFritter from 2005 where he mentions having the disks. Unfortunately, my
password isn't working there anymore and two reset requests were ignored.

If anyone has the ability to leave messages, would you be kind enough to PM
this individual and ask them to drop me an e-mail?

Steve
Re: SVA ZVX4 8" disk controller [message #98420 is a reply to message #97811] Sat, 20 July 2013 18:51 Go to previous messageGo to next message
D Finnigan is currently offline  D Finnigan
Messages: 1154
Registered: October 2012
Karma: 0
Senior Member
Steven Hirsch wrote:
> Just grabbed one of these on eBay. Does anyone have the support software

> and/or docs? I found a posting from a user named "Arf the Lab" on

> AppleFritter from 2005 where he mentions having the disks. Unfortunately,

> my

> password isn't working there anymore and two reset requests were ignored.

> If anyone has the ability to leave messages, would you be kind enough to

> PM

> this individual and ask them to drop me an e-mail?


Looks like you got this resolved:
http://www.applefritter.com/content/software-sva-zvx4-8-driv e-controller
Re: SVA ZVX4 8" disk controller [message #98421 is a reply to message #98420] Sat, 20 July 2013 21:15 Go to previous messageGo to next message
Steven Hirsch is currently offline  Steven Hirsch
Messages: 798
Registered: October 2012
Karma: 0
Senior Member
On 07/20/2013 06:51 PM, D Finnigan wrote:
> Steven Hirsch wrote:

>> Just grabbed one of these on eBay. Does anyone have the support software

>> and/or docs? I found a posting from a user named "Arf the Lab" on

>> AppleFritter from 2005 where he mentions having the disks. Unfortunately,

>> my

>> password isn't working there anymore and two reset requests were ignored.

>> If anyone has the ability to leave messages, would you be kind enough to

>> PM

>> this individual and ask them to drop me an e-mail?

>

> Looks like you got this resolved:

> http://www.applefritter.com/content/software-sva-zvx4-8-driv e-controller


No, unfortunately not. That's the source for the PCPI Applicard driver, which
I already have. What I'm looking for is the original distribution diskette
that accompanied the controller. It apparently has a modified DOS 3.3 that
can use 8" disks and (I assume) the disk format utility.
Re: SVA ZVX4 8" disk controller [message #98462 is a reply to message #98421] Sat, 20 July 2013 22:03 Go to previous messageGo to next message
D Finnigan is currently offline  D Finnigan
Messages: 1154
Registered: October 2012
Karma: 0
Senior Member
Steven Hirsch wrote:
> On 07/20/2013 06:51 PM, D Finnigan wrote:

>> Steven Hirsch wrote:

>>> Just grabbed one of these on eBay. Does anyone have the support

>>> software

>>> and/or docs? I found a posting from a user named "Arf the Lab" on

>>> AppleFritter from 2005 where he mentions having the disks.

>>> Unfortunately,

>>> my

>>> password isn't working there anymore and two reset requests were

>>> ignored.

>>> If anyone has the ability to leave messages, would you be kind enough to

>>> PM

>>> this individual and ask them to drop me an e-mail?

>>

>> Looks like you got this resolved:

>> http://www.applefritter.com/content/software-sva-zvx4-8-driv e-controller

>

> No, unfortunately not.


I was referring to your Applefritter account for others reading this thread.
Re: SVA ZVX4 8" disk controller [message #98503 is a reply to message #97811] Sun, 21 July 2013 03:14 Go to previous messageGo to next message
Apple2Steward is currently offline  Apple2Steward
Messages: 44
Registered: January 2013
Karma: 0
Member
"Steven Hirsch" <snhirsch@gmail.com> wrote in message
news:q4udnfTXsOhrgnTMnZ2dnUVZ_oWdnZ2d@giganews.com...
> Just grabbed one of these on eBay. Does anyone have the

> support software and/or docs? I found a posting from a user

> named "Arf the Lab" on AppleFritter from 2005 where he mentions

> having the disks. Unfortunately, my password isn't working

> there anymore and two reset requests were ignored.

>

> If anyone has the ability to leave messages, would you be kind

> enough to PM this individual and ask them to drop me an e-mail?

>

> Steve


I have a 9-007-001 "SVA Apple Disk Controller" also without
software or docs.

This was supposed to go with my Lobo Drives dual 8" drive.

I have never gotten it to do anything, but haven't given up hope.
Re: SVA ZVX4 8" disk controller [message #98504 is a reply to message #98503] Sun, 21 July 2013 03:46 Go to previous messageGo to next message
STYNX is currently offline  STYNX
Messages: 453
Registered: October 2012
Karma: 0
Senior Member
On Sunday, July 21, 2013 9:14:15 AM UTC+2, Apple2Steward wrote:
> "Steven Hirsch" <sn...@gmail.com> wrote in message

> news:q4u...@giganews.com...

>> Just grabbed one of these on eBay. Does anyone have the

>> support software and/or docs? I found a posting from a user

>> named "Arf the Lab" on AppleFritter from 2005 where he mentions

>> having the disks. Unfortunately, my password isn't working

>> there anymore and two reset requests were ignored.

>> If anyone has the ability to leave messages, would you be kind

>> enough to PM this individual and ask them to drop me an e-mail?

>> Steve

> I have a 9-007-001 "SVA Apple Disk Controller" also without

> software or docs.

> This was supposed to go with my Lobo Drives dual 8" drive.

> I have never gotten it to do anything, but haven't given up hope.


I have software for a SVA hard disk adapter (81-152-006)

http://www.forum64.de/wbb3/index.php?page=Attachment&att achmentID=44512&h=bb5b2ca12f625c77543af545791dd2183af7cf 9a

But that is (most likely) a SASI Controller.

-Jonas
Re: SVA ZVX4 8" disk controller [message #98505 is a reply to message #98421] Sun, 21 July 2013 04:23 Go to previous messageGo to next message
barrym95838 is currently offline  barrym95838
Messages: 130
Registered: April 2013
Karma: 0
Senior Member
On Saturday, July 20, 2013 6:15:08 PM UTC-7, Steven Hirsch wrote:
> ... [snip] ... It apparently has a modified DOS 3.3 that

> can use 8" disks and (I assume) the disk format utility.


I suppose that someone could "roll his own" DOS modification from scratch, but I certainly don't possess that level of awesomeness. An experienced copy-protection engineer or cracker probably would have a much better chance, but perhaps not much motivation ;-)

Mike
Re: SVA ZVX4 8" disk controller [message #98576 is a reply to message #98504] Sun, 21 July 2013 09:20 Go to previous messageGo to next message
Steven Hirsch is currently offline  Steven Hirsch
Messages: 798
Registered: October 2012
Karma: 0
Senior Member
On 07/21/2013 03:46 AM, STYNX wrote:
> On Sunday, July 21, 2013 9:14:15 AM UTC+2, Apple2Steward wrote:

>> "Steven Hirsch" <sn...@gmail.com> wrote in message

>> news:q4u...@giganews.com...

>>> Just grabbed one of these on eBay. Does anyone have the

>>> support software and/or docs? I found a posting from a user

>>> named "Arf the Lab" on AppleFritter from 2005 where he mentions

>>> having the disks. Unfortunately, my password isn't working

>>> there anymore and two reset requests were ignored.

>>> If anyone has the ability to leave messages, would you be kind

>>> enough to PM this individual and ask them to drop me an e-mail?

>>> Steve

>> I have a 9-007-001 "SVA Apple Disk Controller" also without

>> software or docs.

>> This was supposed to go with my Lobo Drives dual 8" drive.

>> I have never gotten it to do anything, but haven't given up hope.

>

> I have software for a SVA hard disk adapter (81-152-006)

>

> http://www.forum64.de/wbb3/index.php?page=Attachment&att achmentID=44512&h=bb5b2ca12f625c77543af545791dd2183af7cf 9a


Do you have a link that's not restricted to members? I'd be curious to see that.
Re: SVA ZVX4 8" disk controller [message #98577 is a reply to message #98503] Sun, 21 July 2013 09:21 Go to previous messageGo to next message
Steven Hirsch is currently offline  Steven Hirsch
Messages: 798
Registered: October 2012
Karma: 0
Senior Member
On 07/21/2013 03:14 AM, Apple2Steward wrote:
> "Steven Hirsch" <snhirsch@gmail.com> wrote in message

> news:q4udnfTXsOhrgnTMnZ2dnUVZ_oWdnZ2d@giganews.com...

>> Just grabbed one of these on eBay. Does anyone have the

>> support software and/or docs? I found a posting from a user

>> named "Arf the Lab" on AppleFritter from 2005 where he mentions

>> having the disks. Unfortunately, my password isn't working

>> there anymore and two reset requests were ignored.

>>

>> If anyone has the ability to leave messages, would you be kind

>> enough to PM this individual and ask them to drop me an e-mail?

>>

>> Steve

>

> I have a 9-007-001 "SVA Apple Disk Controller" also without

> software or docs.

>

> This was supposed to go with my Lobo Drives dual 8" drive.

>

> I have never gotten it to do anything, but haven't given up hope.


Presumably, the Applefritter admins have the real e-mail address for the
original poster. Would be great if they could simply let him or her know I'm
interested in getting in touch.
Re: SVA ZVX4 8" disk controller [message #98705 is a reply to message #98577] Mon, 22 July 2013 14:04 Go to previous messageGo to next message
Antoine Vignau is currently offline  Antoine Vignau
Messages: 1860
Registered: October 2012
Karma: 0
Senior Member
Dear All,
Provided by Jonas, find his controller image @ http://www.brutaldeluxe.fr/public/svaxcomp/

It will also be available next Sunday on The Apple II documentation project,
Antoine
Re: SVA ZVX4 8" disk controller [message #98763 is a reply to message #98705] Mon, 22 July 2013 17:57 Go to previous messageGo to next message
Steven Hirsch is currently offline  Steven Hirsch
Messages: 798
Registered: October 2012
Karma: 0
Senior Member
On 07/22/2013 02:04 PM, Antoine Vignau wrote:
> Dear All,

> Provided by Jonas, find his controller image @ http://www.brutaldeluxe.fr/public/svaxcomp/


Oh, darn. I got my hopes up, but after downloading it looks like that ZIP
file is relative only to the hard disk controller.

There's an apple enthusiast out there who uses the handle "Arf the Lab" who
claimed to have the disks for the ZVX4 floppy controller. I'm guessing he no
longer spends any time on Applefritter, so another member suggested I Google
for him.

Good news: He is apparently active on something called talk.memeo.com.

Bad news: I tried registering there to send him a PM, but even after
registering ran into difficulty. I asked the admins for help and received
easily the rudest response that's arrived in my inbox in many a year.
Needless to say I'm writing that approach off :-).

If anyone has a lead on this individual, please contact me in private e-mail?
I suspect he or she has the last copy of the ZVX4 support media on earth.

Steve
Re: SVA ZVX4 8" disk controller [message #98846 is a reply to message #97811] Mon, 22 July 2013 22:04 Go to previous messageGo to next message
Antoine Vignau is currently offline  Antoine Vignau
Messages: 1860
Registered: October 2012
Karma: 0
Senior Member
Arghh. If that may help others, is that the controller advertised in page 206 of the April 1981 issue of Byte? This is issue volume 6, number 4?

SVA stands for Sorrento Valley Associates. ZVX4 Megabyter is the name of the controller.

Antoine
Re: SVA ZVX4 8" disk controller [message #98847 is a reply to message #97811] Mon, 22 July 2013 22:12 Go to previous messageGo to next message
Antoine Vignau is currently offline  Antoine Vignau
Messages: 1860
Registered: October 2012
Karma: 0
Senior Member
Ahem... Another email address...

; Uploaded to simtel-20 by Ralph Hyre (ralphw@c.cs.cmu.edu)
; Sent to Ralph by Chris Peck (chris@bingvaxb.bitnet)
; You will need one of the follwing items to use these drivers:
; the PCPI OEM package (bucks involved - order from PCPI)
; the assembled output of the PCPI OEM package assembler.
; (this will be made available here as soon as I can assemble it)

.WIDTH 96
;******************************
;FILE: SVAZVX4.A65
;PURP: SVA ZVX4 DRIVER
; THIS DRIVER SHOWS HOW MULTIPLE DENSITIES MAY BE USED. NOTE THAT
; THERE MUST BE SOME WAY OF DETERMINING THE DENSITY AT RUN TIME. IN
; THE ZVX4 CONTROLER THE SVATYPEDISK IS USED.
;
;CHANGES:
; 5/11/83 (WLS)
; ADDED CODE IN THE FORMAT COMMAND TO ISOLATE THE DENSTIY
; AND DRIVE NUMBER
;
; 9/1/82 (WLS)
; ADDED SNDNAME COMMAND
;
; 8/9/82 (WLS)
; CHANGED SO THAT DOUBLE SIDED DOUBLE DENSITY HAS 128 DIRECTORY
; ENTRIES AND DEFINED AS SUPPORTING 4 DRIVES
;
; 8/3/82 (WLS)
; FIXED BUG IN SET SECTOR FOR DOUBLE SIDED SUPPORT
;
; 8/1/82 (WLS)
; CHANGED SVADVR FOR ZVX4 MULTIPLE DENSITY
;
; 7/15/82 (WLS)
; ADDED VERSION NUMBER, NAME
; HOST BUFFER SIZE, ALLOCATION VECTOR SIZE, CHECK VECTOR
; SIZE
;
; 6/16/82 (WLS)
; ADDED READING OF DRIVE AND TRACK IN FORMAT COMMAND
;
; 5/28/82 (WLS)
; ADDED SNDPRMCMD
;
; 5/19/82 (WLS)
; ADDED POLLROUTINE TO HEADER
;
; 4/30/82 (WLS)
; CHANGED TO DRIVER TYPE FOR DOWNLOADING
;
; 4/28/82 (WLS)
; ADDED CODE TO SUPPORT BLOCK DEVICE TABLES
;
; 2/25/82 (WLS)
; ADDED CODE TO VERIFY THAT THE BOARD IS THERE BEFORE
; CALLING IT
;
; 2/24/82 (WLS)
; ADDED QUERY TO GET THE FIRST DISK NUMBER
;
; 1/7/82 (WLS)
; MADE APPLE DRIVES DRIVE 0,1 AND THE SVA DRIVES 2,3
;
; 11/16/81 (WLS)
; CREATED
;*******************************

BASEP0 .QUERY "ENTER BASE OF PAGE 0: "
PAGE0W0 .EQU BASEP0
PAGE0W1 .EQU BASEP0+2

;EQUATES
; .NOLIST
.INCLUDE B:DRVREQUS.A65
.LIST


;SVA EQUATES
SVAFDSK .EQU 6 ;DEFAULT FIRST DISK IS G
SVASETTRK .EQU 0C800H
SVASETSEC .EQU 0C803H
SVASETADR .EQU 0C806H
SVASELDSK .EQU 0C809H
SVARD0 .EQU 0C80CH ;READ SIDE 0
SVAWR0 .EQU 0C80FH ;WRITE SIDE 0
SVAINIT .EQU 0C812H
SVASETSDEN .EQU 0C81EH
SVASETDDEN .EQU 0C821H
SVARD1 .EQU 0C833H ;READ SIDE 1
SVAWR1 .EQU 0C836H ;WRITE SIDE 1
SVADRVINIT .EQU 0C83CH ;INITIALIZE THE CURRENT DRIVE
SVATYPEDISK .EQU 0C83FH

;HEADER
BEGSVA:
.WORD 0 ;LOAD ADDRESS (0=RELOCATE)
.WORD ((ENDSVA-BEGSVA)+0FFH) AND 0FF00H ;LENGTH
.BYTE 4 ;LENGTH OF PAGE 0 DATA
.BYTE 0 ;TAB FIELD (RESERVED FOR FUTURE USE MUST BE 0)
FDISK: .WORD SVAFDSK ;FIRST DISK
.WORD 4 ;DEFINE 4 DRIVES
.WORD ISVA8F
.WORD RSVA8F
.WORD WSVA8F
.WORD OSVA8F
.WORD PSVA8F ;POLL ROUTINE
.WORD 3 ;VERSION NUMBER
NAME: .BYTE 8,"SVA ZVX4",0,0,0,0,0,0,0 ;NAME

;BUFFER SIZE, CHECK SIZE AND ALLOCATION SIZE OF EACH DRIVE DEFINED
.WORD 256 ;HOST BUFFER SIZE
.WORD 32 ;CHECK VECTOR SIZE
.WORD 61 ;ALLOCATION VECTOR SIZE
.WORD 256 ;HOST BUFFER SIZE
.WORD 32 ;CHECK VECTOR SIZE
.WORD 61 ;ALLOCATION VECTOR SIZE
.WORD 256 ;HOST BUFFER SIZE
.WORD 32 ;CHECK VECTOR SIZE
.WORD 61 ;ALLOCATION VECTOR SIZE
.WORD 256 ;HOST BUFFER SIZE
.WORD 32 ;CHECK VECTOR SIZE
.WORD 61 ;ALLOCATION VECTOR SIZE

;******************************
;ROUTINE: ISVA8F,RSVA8F,WSVA8F,OSVA8F
;PURP: HANDLE THE 4 ENTRY POINTS FOR BLOCK DEVICES
;ENTRY: A = HIGH BYTE OF PARAMETERS
; Y = LOW BYTE OF PARAMETERS
;EXIT: IF NO ERRORS THEN
; A = 0
; ELSE
; A = 1
;USED: ALL
;******************************

;INITIALIZE
ISVA8F:
LDA #0
STA TYPEDISK
STA CURDISK
JSR ISSVATHERE ;CHECK FOR SVA CARD
BCS $1 ;EXIT IF ERROR IN SETUP
JSR SVAINIT
$1: JMP EXIT

;READ A SECTOR
RSVA8F:
JSR SETUP
BCS $0 ;EXIT IF ERROR IN SETUP
LDA CURSIDE
BNE $1
JSR SVARD0 ;SIDE 0 READ
$0: JMP EXIT
$1:
JSR SVARD1 ;SIDE 1 READ
JMP EXIT

;WRITE A SECTOR
WSVA8F:
JSR SETUP
BCS $0 ;EXIT IF ERROR IN SETUP
LDA CURSIDE
BNE $1
JSR SVAWR0 ;SIDE 0 WRITE
$0: JMP EXIT
$1:
JSR SVAWR1 ;SIDE 1 WRITE
JMP EXIT

;OTHER COMMANDS
OSVA8F:
CMP #SNDPRMCMD ;IS THIS THE SEND PARAMETERS COMMAND
BNE CHKFRMT ;BIF NOT SEND PARMATERS

;SEND THE HOST AND DISK PARAMETERS
LDA #0
STA ERRBYTE ;ASSUME NO ERRORS
JSR RD1Z80BYTE ;GET DRIVE NUMBER
STA DRNUM ;SAVE DRIVE NUMBER
LDA ADRDMYPARM+1
LDY ADRDMYPARM
JSR SETUP ;SETUP FOR DISK TYPING
BCS $0 ;BIF ERROR
JSR SVATYPEDISK ;GET THE TYPE OF DISK
; 0 = SDSS, 1=DDSS, 2=SDDD, 3=DDDS
CMP #4
BCC $1 ;BIF 0..4 (I.E. IT'S OK)
$0: LDA #0FFH
STA ERRBYTE ;SET ERROR BYTE
LDA #0 ;ELSE ASSUME SDSS
$1: LDY CURDISK
STA TYPEDISK,Y ;SET TYPE DISK
ASL A ;MULTIPLY BY 2
TAY
LDA ADRPARMS,Y
STA PAGE0W0
LDA ADRPARMS+1,Y
STA PAGE0W0+1
LDY #0
STY IDX
$SNDPLP:
LDA (PAGE0W0),Y
JSR WR1Z80BYTE ;SEND THE NEXT BYTE
INC IDX ;INCREMENT TO NEXT BYTE
LDY IDX
CPY #SZPARMS ;ARE WE DONE ?
BNE $SNDPLP ;BIF NOT DONE

;EXIT WITH CARRY CLEAR IF ERRBYTE = 0 ELSE CARRY SET TO
;INDICATE AN ERROR
LDA ERRBYTE
CLC
BEQ EXIT ;BRANCH IF NO ERRORS
SEC
BCS EXIT ;ELSE ERROR EXIT


;FORMAT COMMAND
CHKFRMT:
CMP #FRMTCMD
BNE CHKNAME ;ERROR IF NOT FORMAT COMMAND
JSR RD1Z80BYTE ;GET DRIVE
TAY
AND #0FH ;ZERO THE UPPER NIBBLE
STA DRIVE ;SAVE AS THE DRIVE
TYA
LSR A ;GET THE UPPER NIBBLE AS THE DENSITY
LSR A
LSR A
LSR A
STA DENSITY ;SAVE THE DENSITY
LDA #0FFH
SEC ;INDICATE AN ERROR (NO FORMTING)
BCS EXIT

;CHECK FOR SEND NAME COMMAND
CHKNAME:
CMP #SNDNAMECMD ;SEND NAME COMMAND
BNE CHKOTHR ;BIF NOT

LDA NAME ;GET LENGTH
STA CNT ;SAVE AS COUNT
JSR WR1Z80BYTE ;SEND IT TO HOST
LDA #1
STA IDX
LDA CNT
CLC
BEQ EXIT ;EXIT WITH CARRY CLEAR IF NO NAME
; THIS SHOULD NOT OCCUR

$LP: LDX IDX
LDA NAME,X ;GET NEXT CHARACTER
JSR WR1Z80BYTE
INC IDX
DEC CNT
BNE $LP ;CONTINUE UNTIL ALL BYTES ARE SENT
CLC ;OK EXIT
BCC EXIT

CHKOTHR:
SEC ;ERROR EXIT

;EXIT
EXIT: BCS ERRXIT
LDA #0 ;NO ERRORS
RTS

ERRXIT:
TAY
BNE RET ;IF A <> 0 THEN RETURN
; THE SUBROUTINES ERROR CODE
ERROR:
LDA #0FFH
RET: RTS


PSVA8F: ;NO POLLROUTINE
RTS

ADRPARMS:
.WORD SDSS ;0 = SINGLE DENSITY SINGLE SIDED
.WORD DDSS ;1 = DOUBLE DENSITY SINGLE SIDED
.WORD SDDS ;2 = SINGLE DENSITY DOUBLE SIDED
.WORD DDDS ;3 = DOUBLE DENSITY DOUBLE SIDED

PARMS:
;8 INCH SINGLE DENSITY SINGLE SIDED DISKS
;MHSTPARM 2048,128,52
SDSS: .WORD 128 ;BYTES PER SECTOR
.WORD 26 ;CPM RECORDS PER TRACK
.BYTE 1 ;CPM RECORDS PER HOST BLOCK
.BYTE 8 ;CPM RECORDS PER ALLOCATION BLOCK
.BYTE 0 ;SECTOR MASK
.BYTE 0 ;SECTOR SHIFT COUNT

;DISKDEF 3,0,26,0,1024,243,64,64,2
.WORD 26 ;SECTORS PER TRACK
.BYTE 3 ;BLOCK SHIFT FACTOR
.BYTE 7 ;BLOCK MASK
.BYTE 0 ;EXTENT MASK
.WORD 242 ;NUMBER OF BLOCKS ON DISK - 1
.WORD 63 ;NUMBER OF DIRECTORY ENTRIES - 1
.BYTE 192 ;ALLOC0 (MASKS)
.BYTE 0 ;ALLOC1
.WORD 16 ;CHECK MASKS
.WORD 2 ;OFFSET TO DIRECTORY TRACK

SZPARMS: .EQU $-PARMS


;8 INCH SINGLE DENSITY DOUBLE SIDED DISKS
;MHSTPARM 2048,128,52
SDDS: .WORD 128
.WORD 52
.BYTE 1
.BYTE 16
.BYTE 0
.BYTE 0

;DISKDEF 3,0,51,0,2048,243,64,64,2,0
.WORD 52 ;SEC PER TRACK
.BYTE 4 ;BLOCK SHIFT
.BYTE 15 ;BLOCK MASK
.BYTE 0 ;EXTNT MASK
.WORD 242 ;DISK SIZE-1
.WORD 63 ;DIRECTORY MAX
.BYTE 128 ;ALLOC0
.BYTE 0 ;ALLOC1
.WORD 16 ;CHECK SIZE
.WORD 2 ;OFFSET


;8 INCH DOUBLE DENSITY SINGLE SIDED DISKS
;MHSTPARM 2048,256,26
DDSS: .WORD 256
.WORD 52
.BYTE 2
.BYTE 16
.BYTE 1
.BYTE 1

;SVA 8 INCH DOUBLE DENSITY SINGLE SIDED
;DISKDEF 4,0,25,0,2048,243,96,96,2,0
.WORD 52 ;SEC PER TRACK
.BYTE 4 ;BLOCK SHIFT
.BYTE 15 ;BLOCK MASK
.BYTE 0 ;EXTNT MASK
.WORD 242 ;DISK SIZE-1
.WORD 95 ;DIRECTORY MAX
.BYTE 192 ;ALLOC0
.BYTE 0 ;ALLOC1
.WORD 24 ;CHECK SIZE
.WORD 2 ;OFFSET

;8 INCH DOUBLE DENSITY DOUBLE SIDED DISKS
;MHSTPARM 2048,256,52
DDDS: .WORD 256
.WORD 104
.BYTE 2
.BYTE 16
.BYTE 1
.BYTE 1

;SVA 8 INCH DOUBLE DENSITY DOUBLE SIDED
;DISKDEF 5,0,103,0,2048,487,128,128,2
.WORD 104 ;SEC PER TRACK
.BYTE 4 ;BLOCK SHIFT
.BYTE 15 ;BLOCK MASK
.BYTE 0 ;EXTNT MASK
.WORD 485 ;DISK SIZE-1
.WORD 127 ;DIRECTORY MAX
.BYTE 192 ;ALLOC0
.BYTE 0 ;ALLOC1
.WORD 32 ;CHECK SIZE
.WORD 2 ;OFFSET


;******************************
;ROUTINE: SETUP
;PURP: THE SVA FLOPPY DISK DRIVER ENTRY POINT
;ENTRY: A = HIGH BYTE OF PARAMETERS
; Y = LOW BYTE OF PARAMETERS
;EXIT: DRIVE, TRACK, AND SECTOR SETUP
;USED: ALL
;******************************

SETUP:
STA PAGE0W0+1 ;SAVE PARAMETERS
STY PAGE0W0

;CALCULATE CURDISK
LDY #OCURDSK
LDA (PAGE0W0),Y ;GET CURRENT DISK
SEC
SBC FDISK ;NORMALIZE TO 0
STA CURDISK ;SAVE DISK NUMBER

;CHECK THAT THE CARDS THERE
SETUP1: JSR ISSVATHERE
BCC SETUP2 ;BIF THERE
RTS ;ELSE ERROR EXIT

;SET DISK
SETUP2:
LDA CURDISK
JSR SVASELDSK ;SELECT THE DISK

;SET THE DENSITY
LDX CURDISK ;GET DISK
LDA TYPEDISK,X ;GET TYPE OF DISK
STA CURTYPEDISK ;SAVE CUR TYPE DISK
AND #1
BNE SETUPDD ;BIF DOUBLE DENSITY
JSR SVASETSDEN ;IS SINGLE DENSITY
JMP SETUPSS
SETUPDD:
JSR SVASETDDEN ;IS DOUBLE DENSTIY

;SET SECTOR AND SIDE
SETUPSS:
LDX #0 ;ASSUME SIDE 0
LDY #OCURSEC
LDA (PAGE0W0),Y ;GET LOGICAL SECTOR
CMP #26
BCC $0 ;SIDE 0
SEC
SBC #26 ;NORMALIZE TO 0
CMP #26
BCC $0A
RTS ;RETURN WITH CY=1 (ERROR SECTOR TOO LARGE)

$0A: LDX #0FFH ;SIDE 1
$0: TAY ;LOGICAL SECTOR TO Y
STX CURSIDE ;SAVE SIDE TO READ OR WRITE

;DECIDE WHICH TRANSLATION TABLE
; Y = LOGICAL SECTOR
LDA CURTYPEDISK
BEQ $1 ;IF SINGLE DENSITY SINGLE SIDED THEN
; USE EVERY 7 AS DIGITAL RESEARCH SAYS
LDA #2 ; ELSE USE OTHER INTERLEAVE
$1: TAX ;X = OFFSET TO WHICH TRANSLATION TABLE
LDA ADRTRANS,X
STA PAGE0W1
LDA ADRTRANS+1,X
STA PAGE0W1+1
LDA (PAGE0W1),Y ;GET PHYSICAL SECTORS
JSR SVASETSEC ;SET THE SECTOR

;SET THE TRACK
LDY #OCURTRK
LDA (PAGE0W0),Y
JSR SVASETTRK ;SET THE TRACK

;SET THE DMA ADDRESS
LDY #OCURDMA+1
LDA (PAGE0W0),Y ;GET HIGH BYTE
TAX
DEY
LDA (PAGE0W0),Y ;GET LOW BYTE
TAY
TXA
JSR SVASETADR ;SET THE DMA ADDRESS
CLC
RTS


;*************************************
;ROUTINE: ISSVATHERE
;ENTRY: NONE
;EXIT: THE SVA CARD IS SLECTED IN SLOT 7
; IF THERE
; CY = 0
; ELSE
; CY = 1
;USED: A,F
;**************************************

ISSVATHERE:
BIT 0CFFFH ;TURN OFF ALL ROMS
BIT 0C700H ;TURN ON SVA DISK CONTROLER
LDA 0C800H
CMP #4CH ;IS THERE A JUMP OPCODE AT C800H ?
CLC ;ASSUME THERE IS
BEQ $1 ;BIF SO
SEC ;ELSE IT'S NOT THERE
$1: RTS


;TRANSLATION
IDX: .BLOCK 1 ;TEMPORARY
CNT: .BLOCK 1 ;TEMPORARY
DRIVE: .BLOCK 1 ;TEMPORARY
DENSITY: .BLOCK 1 ;TEMPORARY
CURDISK: .BLOCK 1 ;CURRENT DISK NORMALIZED TO 0
CURSIDE: .BLOCK 1 ;CURRENT SIDE
CURTYPEDISK: .BLOCK 1 ;CURRENT TYPE DISK
ERRBYTE: .BLOCK 1 ;ERROR BYTE FOR SENDING PARAMETERS

;TYPE OF DISK
TYPEDISK:
.BYTE 0
.BYTE 0
.BYTE 0
.BYTE 0

;TRANSLATION TABLE
ADRTRANS:
.WORD SDTRANS
.WORD DDTRANS
SDTRANS:
.BYTE 1,7,13,19,25,5,11,17,23,3,9,15,21
.BYTE 2,8,14,20,26,6,12,18,24,4,10,16,22
DDTRANS:
.BYTE 1,4,7,10,13,16,19,22,25,2,5,8,11
.BYTE 14,17,20,23,26,3,6,9,12,15,18,21,24

;DUMMY PARAMETER BLOCK FOR OTHER COMMAND
ADRDMYPARM:
.WORD DMYPARM
DMYPARM:
DRNUM: .BYTE 0 ;DRIVE
TKNUM: .WORD 2 ;TRACK
SRNUM: .WORD 0 ;SECTOR
DMA: .WORD BUFFER ;DMA
SIZE: .WORD 256 ;SIZE

BUFFER: .BLOCK 256

ENDSVA:

.END
Re: SVA ZVX4 8" disk controller [message #98913 is a reply to message #98847] Tue, 23 July 2013 07:11 Go to previous messageGo to next message
Steven Hirsch is currently offline  Steven Hirsch
Messages: 798
Registered: October 2012
Karma: 0
Senior Member
On 07/22/2013 10:12 PM, Antoine Vignau wrote:
> Ahem... Another email address...


(snip)

Yes, already have that. It's a third party driver for using the SVA ZVX4
under Applicard CP/M. There are perhaps enough clues in there to code
formatter, but I was really hoping to find the proper DOS 3.3 support
diskettes and, dare I dream, a copy of the docs.
Re: SVA ZVX4 8" disk controller [message #99444 is a reply to message #98913] Thu, 25 July 2013 08:08 Go to previous messageGo to next message
Steven Hirsch is currently offline  Steven Hirsch
Messages: 798
Registered: October 2012
Karma: 0
Senior Member
Breaking news: I managed to contact an individual who has a bunch of 8"
diskettes for the ZVX4. They came from an engineer who worked at SVA, so this
may have source code in addition to the driver support.

They are on their way to me for imaging. Let's keep our fingers crossed that
the ravages of time haven't ruined them.

Steve
Re: SVA ZVX4 8" disk controller [message #99477 is a reply to message #99444] Thu, 25 July 2013 10:49 Go to previous messageGo to next message
Michael Black is currently offline  Michael Black
Messages: 2799
Registered: February 2012
Karma: 0
Senior Member
On Thu, 25 Jul 2013, Steven Hirsch wrote:

> Breaking news: I managed to contact an individual who has a bunch of 8"

> diskettes for the ZVX4. They came from an engineer who worked at SVA, so this

> may have source code in addition to the driver support.

>

> They are on their way to me for imaging. Let's keep our fingers crossed that

> the ravages of time haven't ruined them.

>

But how are you going to read them, until you have what's on them?

Michael
Re: SVA ZVX4 8" disk controller [message #99478 is a reply to message #99477] Thu, 25 July 2013 11:16 Go to previous messageGo to next message
barrym95838 is currently offline  barrym95838
Messages: 130
Registered: April 2013
Karma: 0
Senior Member
On Thursday, July 25, 2013 7:49:02 AM UTC-7, Michael Black wrote:
>

> But how are you going to read them, until you have what's on them?

>


I don't know how the hardware and interface are set up, but I suppose that it might be able to boot-strap itself ...

Mike
Re: SVA ZVX4 8" disk controller [message #99514 is a reply to message #99444] Thu, 25 July 2013 15:16 Go to previous messageGo to next message
Willi Kusche is currently offline  Willi Kusche
Messages: 152
Registered: October 2012
Karma: 0
Senior Member
Hi!

On Thursday, July 25, 2013 8:08:07 AM UTC-4, Steven wrote:
> Breaking news: I managed to contact an individual who has a bunch of 8"

> diskettes for the ZVX4. They came from an engineer who worked at SVA, so this

> may have source code in addition to the driver support.

> They are on their way to me for imaging. Let's keep our fingers crossed that

> the ravages of time haven't ruined them.


Amen! My experience is that 8" disks are quite durable but I have to admit that it's been some time since I've tried to access any of the 8" disks in my collection.

Willi
Re: SVA ZVX4 8" disk controller [message #99538 is a reply to message #99477] Thu, 25 July 2013 18:52 Go to previous messageGo to next message
Steven Hirsch is currently offline  Steven Hirsch
Messages: 798
Registered: October 2012
Karma: 0
Senior Member
On 07/25/2013 10:49 AM, Michael Black wrote:
> On Thu, 25 Jul 2013, Steven Hirsch wrote:

>

>> Breaking news: I managed to contact an individual who has a bunch of 8"

>> diskettes for the ZVX4. They came from an engineer who worked at SVA, so

>> this may have source code in addition to the driver support.

>>

>> They are on their way to me for imaging. Let's keep our fingers crossed

>> that the ravages of time haven't ruined them.

>>

> But how are you going to read them, until you have what's on them?


I'm hoping that at least one is bootable. And since they were written by a
Western Digital controller, I can make sector images of them using a tool like
ImageDisk and try to make sense of the filesystem.

If it's like every other variant of DOS 3.3 for large volumes, they did it
their own way. But, it should be possible to work out.

Steve
Re: SVA ZVX4 8" disk controller [message #102386 is a reply to message #99538] Tue, 06 August 2013 01:31 Go to previous messageGo to next message
Paul Hagstrom is currently offline  Paul Hagstrom
Messages: 23
Registered: November 2012
Karma: 0
Junior Member
On 2013-07-25 22:52:36 +0000, Steven Hirsch said:

> On 07/25/2013 10:49 AM, Michael Black wrote:

>> On Thu, 25 Jul 2013, Steven Hirsch wrote:

>>

>>> Breaking news: I managed to contact an individual who has a bunch of 8"

>>> diskettes for the ZVX4. They came from an engineer who worked at SVA, so

>>> this may have source code in addition to the driver support.


> I'm hoping that at least one is bootable. And since they were written

> by a Western Digital controller, I can make sector images of them using

> a tool like ImageDisk and try to make sense of the filesystem.

>

> If it's like every other variant of DOS 3.3 for large volumes, they did

> it their own way. But, it should be possible to work out.


Possibly only tangentially related to this, I wound up with a couple of
5.25" disks that have the source and compiled drivers for the SVA
Megaflex for Apple III SOS from 1983 (one labeled version 1.0, another
labeled version 1.1). Scanning this thread and past ones, it appears
that the Megaflex card is something rather different from the ZVX4, but
given that SOS and ProDOS are related, there could conceivably be some
clues of interest in there. Not to what mods were done to DOS 3.3 to
allow it to work, but just on operating these cards if they're at all
similar (or, alternatively if someone is actually looking for a SOS
driver for a Megaflex card). The internet has provided precious little
information about those cards, so I expect there aren't many actually
out there (and probably even fewer sitting in an Apple III). I'll copy
the comments at the top of the v1.1 source for the main driver below.
Of course, I have got no way really to test anything out, but it looks
like the disks imaged ok at least. I also have no idea if there were
further revisions, all I have is versions 1.0 and 1.1.

The disk images I made of these are at the end of this long link that I
hope will make it through intact:

https://dl.dropboxusercontent.com/u/391444/Vintage/apple/iii -software/disk-imaging/Megaflex-disks-HDD-KBYoung.zip


and the commentary from the top of the v1.1 driver is below. If for
some reason this is something that shouldn't be posted in the wild,
alert me and I'll break the link.

-Paul


..TITLE " MX853 DOUBLE DENSITY DISK DRIVER FOR APPLE /// SOS 19-OCT-82"
;----------------------------------------------------------- -----
;
; SVA DOUBLE DENSITY DISK DRIVER FOR APPLE /// SOS
;
;
;
;
; CREATED: J.C. 19-NOV-82
;
; CHANGES: J.C. 27-JAN-83
; CONTROLLER RAM FLOPS ON A10
; ADDED CP/M SECTOR INTERLEAVE OPTION
; ADDED CONTROL/STATUS SERVERS TO ACCESS
; CONFIGURATION BLOCKS
; J.C. 31-JAN-83
; ADDED HEAD LOAD TIMING
; ADDED DRVINIT TO RESET IF SIDE 1 SELECTED
; NOTE: MEGAFLEX CARD SHOULD BE MODIFIED SO
; THE INDEX PULSE IS NOT DISABLED BY
; DRIVE NOT READY.
;
; DSH 3-MAR-83
; ADDED SIDE SELECT CODE FOR OPERATION WITH
;
STANDARD MEGAFLEX CARDS INSTEAD OF MODIFIED
; VERSIONS
;
; J.C. 1-APR-83
; CLEAN UP HEADLOAD/SIDE SELECT LOGIC
; CLEAN UP D_INIT SERVER
 ;
; J.C. 5-APR-83
; CHANGE HEADLOAD TIME TO 60mS FOR ALL DRIVES.
; ALLOWS COMPATABILITY WITH SONY DRIVES.
; ADD TRACK AND SECTOR OFFSET ENTRIES
; IN CONFIGURATION TABLE FOR COMPATIBILITY
; WITH APPLE ][ PASCAL SONY DISKS
;
; J.C. 7-APR-83
; FIX BUG IN INIT SUBROUTINE:- WASN'T LOADING
; CONTROLLER RAM PROPERBLY.
; FIX BUG IN UCSD INTERLEAVE CALCULATION CODE.
;
; dsh 14-apr-83
; added format driver to control server
;
 ; DSH 19-APR-83
; ADDED INTERRUPT DISABLES DURING DISK I/O
 ;
; DSH 27-APR-83
; ADDED ERROR COUNT TO DRIVERS
;
; ADDED RETRY TO FORMATTER IF AN ERROR IN
; LOST DATA OR WRITE FAULT OCCURS.
; * SOME QUESTION TO WHAT WRITE FAULT IS
;
; J.C. 17-MAY-83
; FIX BUG IN NO OF TRACK CALCULATION
; ADDED SONY FORMAT OPTION
; (INVOKED IF SECTORS/TRACK = 16)
;
; J.C. 23-MAY-83
; CHANGE STATUS AND CONTROL SERVERS
; TO TRANSFER NO OF BYTES SPECIFIED UP TO
; 13 FOR STATUS CALL AND 10 FOR CONTROL CALL
;
;----------------------------------------------------------- -----
Re: SVA ZVX4 8" disk controller [message #102448 is a reply to message #102386] Tue, 06 August 2013 08:14 Go to previous messageGo to next message
Steven Hirsch is currently offline  Steven Hirsch
Messages: 798
Registered: October 2012
Karma: 0
Senior Member
On 08/06/2013 01:31 AM, Paul Hagstrom wrote:

> The disk images I made of these are at the end of this long link that I hope

> will make it through intact:

>

> https://dl.dropboxusercontent.com/u/391444/Vintage/apple/iii -software/disk-imaging/Megaflex-disks-HDD-KBYoung.zip


Thanks, Paul!

I have a Megaflex controller as well and these are a welcome addition. It
came with v1.0 of the SOS software so this is an upgrade :-).

I am almost finished with recovery of the ZVX4 Pascal and DOS support, thanks
to the kind loan of a box of 8" diskettes from another ZVX4 owner. I'll make
sure it gets posted in all the correct places when done.

It would be great to find the ZVX4 documentation if anyone has a lead.

Steve
Re: SVA ZVX4 8" disk controller [message #384137 is a reply to message #98847] Thu, 23 May 2019 10:32 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: Ralph Hyre

Wow, I don't remember uploading this at all (it was the 80's though). That e-mail address is no longer valid, BTW.

I'd recommend poking around the Applelogic community, just to see who's there. Archive.org should have a copy of the PCPI OEM disks, I would hope.

At this point, it would be worth talking to the Applesauce folks to see what preservation options there might be for 8" floppies. The kryoflux guys might have a solution.

https://applesaucefdc.com/hardware/


Cheers,

- Ralph Hyre

On Monday, July 22, 2013 at 10:12:16 PM UTC-4, Antoine Vignau wrote:
> Ahem... Another email address...
>
> ; Uploaded to simtel-20 by Ralph Hyre (ralphw@c.cs.cmu.edu)
> ; Sent to Ralph by Chris Peck (chris@bingvaxb.bitnet)
> ; You will need one of the follwing items to use these drivers:
> ; the PCPI OEM package (bucks involved - order from PCPI)
> ; the assembled output of the PCPI OEM package assembler.
> ; (this will be made available here as soon as I can assemble it)
>
> .WIDTH 96
> ;******************************
> ;FILE: SVAZVX4.A65
> ;PURP: SVA ZVX4 DRIVER
> ; THIS DRIVER SHOWS HOW MULTIPLE DENSITIES MAY BE USED. NOTE THAT
> ; THERE MUST BE SOME WAY OF DETERMINING THE DENSITY AT RUN TIME. IN
> ; THE ZVX4 CONTROLER THE SVATYPEDISK IS USED.
> ;
> ;CHANGES:
> ; 5/11/83 (WLS)
> ; ADDED CODE IN THE FORMAT COMMAND TO ISOLATE THE DENSTIY
> ; AND DRIVE NUMBER
> ;
> ; 9/1/82 (WLS)
> ; ADDED SNDNAME COMMAND
> ;
> ; 8/9/82 (WLS)
> ; CHANGED SO THAT DOUBLE SIDED DOUBLE DENSITY HAS 128 DIRECTORY
> ; ENTRIES AND DEFINED AS SUPPORTING 4 DRIVES
> ;
> ; 8/3/82 (WLS)
> ; FIXED BUG IN SET SECTOR FOR DOUBLE SIDED SUPPORT
> ;
> ; 8/1/82 (WLS)
> ; CHANGED SVADVR FOR ZVX4 MULTIPLE DENSITY
> ;
> ; 7/15/82 (WLS)
> ; ADDED VERSION NUMBER, NAME
> ; HOST BUFFER SIZE, ALLOCATION VECTOR SIZE, CHECK VECTOR
> ; SIZE
> ;
> ; 6/16/82 (WLS)
> ; ADDED READING OF DRIVE AND TRACK IN FORMAT COMMAND
> ;
> ; 5/28/82 (WLS)
> ; ADDED SNDPRMCMD
> ;
> ; 5/19/82 (WLS)
> ; ADDED POLLROUTINE TO HEADER
> ;
> ; 4/30/82 (WLS)
> ; CHANGED TO DRIVER TYPE FOR DOWNLOADING
> ;
> ; 4/28/82 (WLS)
> ; ADDED CODE TO SUPPORT BLOCK DEVICE TABLES
> ;
> ; 2/25/82 (WLS)
> ; ADDED CODE TO VERIFY THAT THE BOARD IS THERE BEFORE
> ; CALLING IT
> ;
> ; 2/24/82 (WLS)
> ; ADDED QUERY TO GET THE FIRST DISK NUMBER
> ;
> ; 1/7/82 (WLS)
> ; MADE APPLE DRIVES DRIVE 0,1 AND THE SVA DRIVES 2,3
> ;
> ; 11/16/81 (WLS)
> ; CREATED
> ;*******************************
>
> BASEP0 .QUERY "ENTER BASE OF PAGE 0: "
> PAGE0W0 .EQU BASEP0
> PAGE0W1 .EQU BASEP0+2
>
> ;EQUATES
> ; .NOLIST
> .INCLUDE B:DRVREQUS.A65
> .LIST
>
>
> ;SVA EQUATES
> SVAFDSK .EQU 6 ;DEFAULT FIRST DISK IS G
> SVASETTRK .EQU 0C800H
> SVASETSEC .EQU 0C803H
> SVASETADR .EQU 0C806H
> SVASELDSK .EQU 0C809H
> SVARD0 .EQU 0C80CH ;READ SIDE 0
> SVAWR0 .EQU 0C80FH ;WRITE SIDE 0
> SVAINIT .EQU 0C812H
> SVASETSDEN .EQU 0C81EH
> SVASETDDEN .EQU 0C821H
> SVARD1 .EQU 0C833H ;READ SIDE 1
> SVAWR1 .EQU 0C836H ;WRITE SIDE 1
> SVADRVINIT .EQU 0C83CH ;INITIALIZE THE CURRENT DRIVE
> SVATYPEDISK .EQU 0C83FH
>
> ;HEADER
> BEGSVA:
> .WORD 0 ;LOAD ADDRESS (0=RELOCATE)
> .WORD ((ENDSVA-BEGSVA)+0FFH) AND 0FF00H ;LENGTH
> .BYTE 4 ;LENGTH OF PAGE 0 DATA
> .BYTE 0 ;TAB FIELD (RESERVED FOR FUTURE USE MUST BE 0)
> FDISK: .WORD SVAFDSK ;FIRST DISK
> .WORD 4 ;DEFINE 4 DRIVES
> .WORD ISVA8F
> .WORD RSVA8F
> .WORD WSVA8F
> .WORD OSVA8F
> .WORD PSVA8F ;POLL ROUTINE
> .WORD 3 ;VERSION NUMBER
> NAME: .BYTE 8,"SVA ZVX4",0,0,0,0,0,0,0 ;NAME
>
> ;BUFFER SIZE, CHECK SIZE AND ALLOCATION SIZE OF EACH DRIVE DEFINED
> .WORD 256 ;HOST BUFFER SIZE
> .WORD 32 ;CHECK VECTOR SIZE
> .WORD 61 ;ALLOCATION VECTOR SIZE
> .WORD 256 ;HOST BUFFER SIZE
> .WORD 32 ;CHECK VECTOR SIZE
> .WORD 61 ;ALLOCATION VECTOR SIZE
> .WORD 256 ;HOST BUFFER SIZE
> .WORD 32 ;CHECK VECTOR SIZE
> .WORD 61 ;ALLOCATION VECTOR SIZE
> .WORD 256 ;HOST BUFFER SIZE
> .WORD 32 ;CHECK VECTOR SIZE
> .WORD 61 ;ALLOCATION VECTOR SIZE
>
> ;******************************
> ;ROUTINE: ISVA8F,RSVA8F,WSVA8F,OSVA8F
> ;PURP: HANDLE THE 4 ENTRY POINTS FOR BLOCK DEVICES
> ;ENTRY: A = HIGH BYTE OF PARAMETERS
> ; Y = LOW BYTE OF PARAMETERS
> ;EXIT: IF NO ERRORS THEN
> ; A = 0
> ; ELSE
> ; A = 1
> ;USED: ALL
> ;******************************
>
> ;INITIALIZE
> ISVA8F:
> LDA #0
> STA TYPEDISK
> STA CURDISK
> JSR ISSVATHERE ;CHECK FOR SVA CARD
> BCS $1 ;EXIT IF ERROR IN SETUP
> JSR SVAINIT
> $1: JMP EXIT
>
> ;READ A SECTOR
> RSVA8F:
> JSR SETUP
> BCS $0 ;EXIT IF ERROR IN SETUP
> LDA CURSIDE
> BNE $1
> JSR SVARD0 ;SIDE 0 READ
> $0: JMP EXIT
> $1:
> JSR SVARD1 ;SIDE 1 READ
> JMP EXIT
>
> ;WRITE A SECTOR
> WSVA8F:
> JSR SETUP
> BCS $0 ;EXIT IF ERROR IN SETUP
> LDA CURSIDE
> BNE $1
> JSR SVAWR0 ;SIDE 0 WRITE
> $0: JMP EXIT
> $1:
> JSR SVAWR1 ;SIDE 1 WRITE
> JMP EXIT
>
> ;OTHER COMMANDS
> OSVA8F:
> CMP #SNDPRMCMD ;IS THIS THE SEND PARAMETERS COMMAND
> BNE CHKFRMT ;BIF NOT SEND PARMATERS
>
> ;SEND THE HOST AND DISK PARAMETERS
> LDA #0
> STA ERRBYTE ;ASSUME NO ERRORS
> JSR RD1Z80BYTE ;GET DRIVE NUMBER
> STA DRNUM ;SAVE DRIVE NUMBER
> LDA ADRDMYPARM+1
> LDY ADRDMYPARM
> JSR SETUP ;SETUP FOR DISK TYPING
> BCS $0 ;BIF ERROR
> JSR SVATYPEDISK ;GET THE TYPE OF DISK
> ; 0 = SDSS, 1=DDSS, 2=SDDD, 3=DDDS
> CMP #4
> BCC $1 ;BIF 0..4 (I.E. IT'S OK)
> $0: LDA #0FFH
> STA ERRBYTE ;SET ERROR BYTE
> LDA #0 ;ELSE ASSUME SDSS
> $1: LDY CURDISK
> STA TYPEDISK,Y ;SET TYPE DISK
> ASL A ;MULTIPLY BY 2
> TAY
> LDA ADRPARMS,Y
> STA PAGE0W0
> LDA ADRPARMS+1,Y
> STA PAGE0W0+1
> LDY #0
> STY IDX
> $SNDPLP:
> LDA (PAGE0W0),Y
> JSR WR1Z80BYTE ;SEND THE NEXT BYTE
> INC IDX ;INCREMENT TO NEXT BYTE
> LDY IDX
> CPY #SZPARMS ;ARE WE DONE ?
> BNE $SNDPLP ;BIF NOT DONE
>
> ;EXIT WITH CARRY CLEAR IF ERRBYTE = 0 ELSE CARRY SET TO
> ;INDICATE AN ERROR
> LDA ERRBYTE
> CLC
> BEQ EXIT ;BRANCH IF NO ERRORS
> SEC
> BCS EXIT ;ELSE ERROR EXIT
>
>
> ;FORMAT COMMAND
> CHKFRMT:
> CMP #FRMTCMD
> BNE CHKNAME ;ERROR IF NOT FORMAT COMMAND
> JSR RD1Z80BYTE ;GET DRIVE
> TAY
> AND #0FH ;ZERO THE UPPER NIBBLE
> STA DRIVE ;SAVE AS THE DRIVE
> TYA
> LSR A ;GET THE UPPER NIBBLE AS THE DENSITY
> LSR A
> LSR A
> LSR A
> STA DENSITY ;SAVE THE DENSITY
> LDA #0FFH
> SEC ;INDICATE AN ERROR (NO FORMTING)
> BCS EXIT
>
> ;CHECK FOR SEND NAME COMMAND
> CHKNAME:
> CMP #SNDNAMECMD ;SEND NAME COMMAND
> BNE CHKOTHR ;BIF NOT
>
> LDA NAME ;GET LENGTH
> STA CNT ;SAVE AS COUNT
> JSR WR1Z80BYTE ;SEND IT TO HOST
> LDA #1
> STA IDX
> LDA CNT
> CLC
> BEQ EXIT ;EXIT WITH CARRY CLEAR IF NO NAME
> ; THIS SHOULD NOT OCCUR
>
> $LP: LDX IDX
> LDA NAME,X ;GET NEXT CHARACTER
> JSR WR1Z80BYTE
> INC IDX
> DEC CNT
> BNE $LP ;CONTINUE UNTIL ALL BYTES ARE SENT
> CLC ;OK EXIT
> BCC EXIT
>
> CHKOTHR:
> SEC ;ERROR EXIT
>
> ;EXIT
> EXIT: BCS ERRXIT
> LDA #0 ;NO ERRORS
> RTS
>
> ERRXIT:
> TAY
> BNE RET ;IF A <> 0 THEN RETURN
> ; THE SUBROUTINES ERROR CODE
> ERROR:
> LDA #0FFH
> RET: RTS
>
>
> PSVA8F: ;NO POLLROUTINE
> RTS
>
> ADRPARMS:
> .WORD SDSS ;0 = SINGLE DENSITY SINGLE SIDED
> .WORD DDSS ;1 = DOUBLE DENSITY SINGLE SIDED
> .WORD SDDS ;2 = SINGLE DENSITY DOUBLE SIDED
> .WORD DDDS ;3 = DOUBLE DENSITY DOUBLE SIDED
>
> PARMS:
> ;8 INCH SINGLE DENSITY SINGLE SIDED DISKS
> ;MHSTPARM 2048,128,52
> SDSS: .WORD 128 ;BYTES PER SECTOR
> .WORD 26 ;CPM RECORDS PER TRACK
> .BYTE 1 ;CPM RECORDS PER HOST BLOCK
> .BYTE 8 ;CPM RECORDS PER ALLOCATION BLOCK
> .BYTE 0 ;SECTOR MASK
> .BYTE 0 ;SECTOR SHIFT COUNT
>
> ;DISKDEF 3,0,26,0,1024,243,64,64,2
> .WORD 26 ;SECTORS PER TRACK
> .BYTE 3 ;BLOCK SHIFT FACTOR
> .BYTE 7 ;BLOCK MASK
> .BYTE 0 ;EXTENT MASK
> .WORD 242 ;NUMBER OF BLOCKS ON DISK - 1
> .WORD 63 ;NUMBER OF DIRECTORY ENTRIES - 1
> .BYTE 192 ;ALLOC0 (MASKS)
> .BYTE 0 ;ALLOC1
> .WORD 16 ;CHECK MASKS
> .WORD 2 ;OFFSET TO DIRECTORY TRACK
>
> SZPARMS: .EQU $-PARMS
>
>
> ;8 INCH SINGLE DENSITY DOUBLE SIDED DISKS
> ;MHSTPARM 2048,128,52
> SDDS: .WORD 128
> .WORD 52
> .BYTE 1
> .BYTE 16
> .BYTE 0
> .BYTE 0
>
> ;DISKDEF 3,0,51,0,2048,243,64,64,2,0
> .WORD 52 ;SEC PER TRACK
> .BYTE 4 ;BLOCK SHIFT
> .BYTE 15 ;BLOCK MASK
> .BYTE 0 ;EXTNT MASK
> .WORD 242 ;DISK SIZE-1
> .WORD 63 ;DIRECTORY MAX
> .BYTE 128 ;ALLOC0
> .BYTE 0 ;ALLOC1
> .WORD 16 ;CHECK SIZE
> .WORD 2 ;OFFSET
>
>
> ;8 INCH DOUBLE DENSITY SINGLE SIDED DISKS
> ;MHSTPARM 2048,256,26
> DDSS: .WORD 256
> .WORD 52
> .BYTE 2
> .BYTE 16
> .BYTE 1
> .BYTE 1
>
> ;SVA 8 INCH DOUBLE DENSITY SINGLE SIDED
> ;DISKDEF 4,0,25,0,2048,243,96,96,2,0
> .WORD 52 ;SEC PER TRACK
> .BYTE 4 ;BLOCK SHIFT
> .BYTE 15 ;BLOCK MASK
> .BYTE 0 ;EXTNT MASK
> .WORD 242 ;DISK SIZE-1
> .WORD 95 ;DIRECTORY MAX
> .BYTE 192 ;ALLOC0
> .BYTE 0 ;ALLOC1
> .WORD 24 ;CHECK SIZE
> .WORD 2 ;OFFSET
>
> ;8 INCH DOUBLE DENSITY DOUBLE SIDED DISKS
> ;MHSTPARM 2048,256,52
> DDDS: .WORD 256
> .WORD 104
> .BYTE 2
> .BYTE 16
> .BYTE 1
> .BYTE 1
>
> ;SVA 8 INCH DOUBLE DENSITY DOUBLE SIDED
> ;DISKDEF 5,0,103,0,2048,487,128,128,2
> .WORD 104 ;SEC PER TRACK
> .BYTE 4 ;BLOCK SHIFT
> .BYTE 15 ;BLOCK MASK
> .BYTE 0 ;EXTNT MASK
> .WORD 485 ;DISK SIZE-1
> .WORD 127 ;DIRECTORY MAX
> .BYTE 192 ;ALLOC0
> .BYTE 0 ;ALLOC1
> .WORD 32 ;CHECK SIZE
> .WORD 2 ;OFFSET
>
>
> ;******************************
> ;ROUTINE: SETUP
> ;PURP: THE SVA FLOPPY DISK DRIVER ENTRY POINT
> ;ENTRY: A = HIGH BYTE OF PARAMETERS
> ; Y = LOW BYTE OF PARAMETERS
> ;EXIT: DRIVE, TRACK, AND SECTOR SETUP
> ;USED: ALL
> ;******************************
>
> SETUP:
> STA PAGE0W0+1 ;SAVE PARAMETERS
> STY PAGE0W0
>
> ;CALCULATE CURDISK
> LDY #OCURDSK
> LDA (PAGE0W0),Y ;GET CURRENT DISK
> SEC
> SBC FDISK ;NORMALIZE TO 0
> STA CURDISK ;SAVE DISK NUMBER
>
> ;CHECK THAT THE CARDS THERE
> SETUP1: JSR ISSVATHERE
> BCC SETUP2 ;BIF THERE
> RTS ;ELSE ERROR EXIT
>
> ;SET DISK
> SETUP2:
> LDA CURDISK
> JSR SVASELDSK ;SELECT THE DISK
>
> ;SET THE DENSITY
> LDX CURDISK ;GET DISK
> LDA TYPEDISK,X ;GET TYPE OF DISK
> STA CURTYPEDISK ;SAVE CUR TYPE DISK
> AND #1
> BNE SETUPDD ;BIF DOUBLE DENSITY
> JSR SVASETSDEN ;IS SINGLE DENSITY
> JMP SETUPSS
> SETUPDD:
> JSR SVASETDDEN ;IS DOUBLE DENSTIY
>
> ;SET SECTOR AND SIDE
> SETUPSS:
> LDX #0 ;ASSUME SIDE 0
> LDY #OCURSEC
> LDA (PAGE0W0),Y ;GET LOGICAL SECTOR
> CMP #26
> BCC $0 ;SIDE 0
> SEC
> SBC #26 ;NORMALIZE TO 0
> CMP #26
> BCC $0A
> RTS ;RETURN WITH CY=1 (ERROR SECTOR TOO LARGE)
>
> $0A: LDX #0FFH ;SIDE 1
> $0: TAY ;LOGICAL SECTOR TO Y
> STX CURSIDE ;SAVE SIDE TO READ OR WRITE
>
> ;DECIDE WHICH TRANSLATION TABLE
> ; Y = LOGICAL SECTOR
> LDA CURTYPEDISK
> BEQ $1 ;IF SINGLE DENSITY SINGLE SIDED THEN
> ; USE EVERY 7 AS DIGITAL RESEARCH SAYS
> LDA #2 ; ELSE USE OTHER INTERLEAVE
> $1: TAX ;X = OFFSET TO WHICH TRANSLATION TABLE
> LDA ADRTRANS,X
> STA PAGE0W1
> LDA ADRTRANS+1,X
> STA PAGE0W1+1
> LDA (PAGE0W1),Y ;GET PHYSICAL SECTORS
> JSR SVASETSEC ;SET THE SECTOR
>
> ;SET THE TRACK
> LDY #OCURTRK
> LDA (PAGE0W0),Y
> JSR SVASETTRK ;SET THE TRACK
>
> ;SET THE DMA ADDRESS
> LDY #OCURDMA+1
> LDA (PAGE0W0),Y ;GET HIGH BYTE
> TAX
> DEY
> LDA (PAGE0W0),Y ;GET LOW BYTE
> TAY
> TXA
> JSR SVASETADR ;SET THE DMA ADDRESS
> CLC
> RTS
>
>
> ;*************************************
> ;ROUTINE: ISSVATHERE
> ;ENTRY: NONE
> ;EXIT: THE SVA CARD IS SLECTED IN SLOT 7
> ; IF THERE
> ; CY = 0
> ; ELSE
> ; CY = 1
> ;USED: A,F
> ;**************************************
>
> ISSVATHERE:
> BIT 0CFFFH ;TURN OFF ALL ROMS
> BIT 0C700H ;TURN ON SVA DISK CONTROLER
> LDA 0C800H
> CMP #4CH ;IS THERE A JUMP OPCODE AT C800H ?
> CLC ;ASSUME THERE IS
> BEQ $1 ;BIF SO
> SEC ;ELSE IT'S NOT THERE
> $1: RTS
>
>
> ;TRANSLATION
> IDX: .BLOCK 1 ;TEMPORARY
> CNT: .BLOCK 1 ;TEMPORARY
> DRIVE: .BLOCK 1 ;TEMPORARY
> DENSITY: .BLOCK 1 ;TEMPORARY
> CURDISK: .BLOCK 1 ;CURRENT DISK NORMALIZED TO 0
> CURSIDE: .BLOCK 1 ;CURRENT SIDE
> CURTYPEDISK: .BLOCK 1 ;CURRENT TYPE DISK
> ERRBYTE: .BLOCK 1 ;ERROR BYTE FOR SENDING PARAMETERS
>
> ;TYPE OF DISK
> TYPEDISK:
> .BYTE 0
> .BYTE 0
> .BYTE 0
> .BYTE 0
>
> ;TRANSLATION TABLE
> ADRTRANS:
> .WORD SDTRANS
> .WORD DDTRANS
> SDTRANS:
> .BYTE 1,7,13,19,25,5,11,17,23,3,9,15,21
> .BYTE 2,8,14,20,26,6,12,18,24,4,10,16,22
> DDTRANS:
> .BYTE 1,4,7,10,13,16,19,22,25,2,5,8,11
> .BYTE 14,17,20,23,26,3,6,9,12,15,18,21,24
>
> ;DUMMY PARAMETER BLOCK FOR OTHER COMMAND
> ADRDMYPARM:
> .WORD DMYPARM
> DMYPARM:
> DRNUM: .BYTE 0 ;DRIVE
> TKNUM: .WORD 2 ;TRACK
> SRNUM: .WORD 0 ;SECTOR
> DMA: .WORD BUFFER ;DMA
> SIZE: .WORD 256 ;SIZE
>
> BUFFER: .BLOCK 256
>
> ENDSVA:
>
> .END
Re: SVA ZVX4 8" disk controller [message #384138 is a reply to message #384137] Thu, 23 May 2019 10:42 Go to previous messageGo to next message
Steven Hirsch is currently offline  Steven Hirsch
Messages: 798
Registered: October 2012
Karma: 0
Senior Member
On 5/23/19 10:32 AM, Ralph Hyre wrote:
> Wow, I don't remember uploading this at all (it was the 80's though). That
> e-mail address is no longer valid, BTW.
>
> I'd recommend poking around the Applelogic community, just to see who's
> there. Archive.org should have a copy of the PCPI OEM disks, I would
> hope.
>
> At this point, it would be worth talking to the Applesauce folks to see
> what preservation options there might be for 8" floppies. The kryoflux
> guys might have a solution.
>
> https://applesaucefdc.com/hardware/
Problem has been solved for six years :-). I have all kinds of ways to read
8" diskettes. The real challenge was reverse-engineering the P-System
diskette format (oddball progressive skew).

Anyone, still no documentation but all software recovered.
Re: SVA ZVX4 8" disk controller [message #384153 is a reply to message #384138] Thu, 23 May 2019 20:15 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: Anthony Adverse

Erm so what would you do with an image of an 8" disc? Is there anything that will support them?
Re: SVA ZVX4 8" disk controller [message #384162 is a reply to message #384153] Fri, 24 May 2019 09:52 Go to previous messageGo to next message
David Schmidt is currently offline  David Schmidt
Messages: 993
Registered: October 2012
Karma: 0
Senior Member
On 5/23/19 8:15 PM, Anthony Adverse wrote:
> Erm so what would you do with an image of an 8" disc? Is there anything that will support them?

You can extract files from them out to the real world, for one thing.

There are (other) systems that use 8" disk images in emulation where
they were more typically found. If they were ProDOS-based, it would be
a no brainer for Apple emulators to pick them up. But given the
vintage, it would be more likely they were using a hacked DOS.
Re: SVA ZVX4 8" disk controller [message #384164 is a reply to message #384162] Fri, 24 May 2019 10:25 Go to previous messageGo to next message
mrbrad is currently offline  mrbrad
Messages: 85
Registered: January 2013
Karma: 0
Member
On 5/24/2019 8:52 AM, David Schmidt wrote:
> On 5/23/19 8:15 PM, Anthony Adverse wrote:
>> Erm so what would you do with an image of an 8" disc? Is there
>> anything that will support them?
>
> You can extract files from them out to the real world, for one thing.
>
> There are (other) systems that use 8" disk images in emulation where
> they were more typically found.  If they were ProDOS-based, it would be
> a no brainer for Apple emulators to pick them up.  But given the
> vintage, it would be more likely they were using a hacked DOS.



Lobo Drives 8" (I have such for apple II w/card) Has a hacked Dos.

myself always wanted a clone card. There 'were' Chinese clone schematics

of making such a card from scratch (with the board) but I don't have

such a copy it seems. If you had that you probably could wire-wrap such a

unit..ugly though it may be. It also had a list of components you were

supposed to get yourself. Anyway, what I THINK I know. Been awhile.
Re: SVA ZVX4 8" disk controller [message #384183 is a reply to message #384138] Sat, 25 May 2019 17:31 Go to previous message
Anonymous
Karma:
Originally posted by: Ralph Hyre

Happy to hear that.
> Anyone, still no documentation but all software recovered.
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Epson APL (Rev 1) Parallel Card Jumper Notes
Next Topic: Epson Stylus Photo 750 settings. llgs serial port or must it be grappler plus and parallel?
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sat Apr 27 13:35:07 EDT 2024

Total time taken to generate the page: 0.17504 seconds