[Coco] Rusty ole FD-501

Chad H chadbh74 at hotmail.com
Thu Jan 15 20:48:17 EST 2015


Ok, looking I'm going to go out on a limb and say this older version 1.3 is "Jeff's" since there is no reference to John anywhere at all in the source code... Note there are NO options referenced in the usage syntax for accessing multiple sides of a diskette...

        TITLE CoCo Real-to-Virtual Disk Transfer
        ;Copyright (C) 1993 Jeff Vavasour

        ASSUME CS:PROG,DS:PROG

STACK   SEGMENT STACK
        DB 512 DUP(?)
STACK   ENDS

PROG    SEGMENT 'CODE'

START:  MOV SI,128
PARSE:  INC SI
        CMP BYTE PTR [SI],' '           ;Skip leading spaces
        JZ PARSE
        CMP BYTE PTR [SI],13            ;Make sure there's a parameter
        JZ ERROR1
        CMP WORD PTR [SI],722FH         ;"/r" option
        JZ ROM_REQUEST
        CMP WORD PTR [SI],522FH         ;"/R" option
        JNZ NO_ROM_REQUEST
ROM_REQUEST:        
        MOV BYTE PTR CS:ROM,-1          ;If so, set flag
        INC SI
        JMP PARSE
NO_ROM_REQUEST:
        CMP WORD PTR [SI+1],203AH       ;If current character followed by ": "
        JNZ PARSE1                      ;it's a source drive designation
        MOV AL,[SI]                     ;Work out drive number
        ADD SI,2
        SUB AL,'A'
        MOV CS:DRIVE,AL
        CMP AL,32
        JB PARSE
        SUB CS:DRIVE,32
        JMP PARSE
PARSE1: MOV DX,SI                       ;Point to start of ".DSK" name
        MOV AL,0                        ;Reset "default extension" flag
PARSE2: CMP BYTE PTR [SI],'.'
        JNZ PARSE3
        MOV AL,-1                       ;If a "." found, don't use default
PARSE3: CMP BYTE PTR [SI],'\'
        JNZ PARSE4
        MOV AL,0                        ;unless it's part of the path
PARSE4: INC SI
        CMP BYTE PTR [SI-1],32          ;Check for end of line
        JA PARSE2
        CMP AL,0
        JNZ PARSE5
        MOV WORD PTR [SI-1],442EH       ;Add ".DSK" if flag set
        MOV WORD PTR [SI+1],4B53H
        ADD SI,4
PARSE5: MOV BYTE PTR [SI-1],0           ;Add terminator
        JMP OPEN

ERROR1: MOV AH,9                        ;Error trap routine, bad syntax
        PUSH CS
        POP DS
        MOV DX,OFFSET MSG1
        INT 21H
        MOV AX,4C00H                    ;Exit
        INT 21H

MSG1    DB 'Usage: RETRIEVE [/R] [d:] [path\]diskname[.DSK]',13,10
        DB '         "d:"         source drive (default A:)',13,10
        DB '         "path"       destination directory for virtual disk',13,10
        DB '         "diskname"   name of virtual disk',13,10
        DB '         /R           if retrieving ROM image only',13,10,'$'

DRIVE   DB 0                            ;Default source drive=A:
HANDLE  DW ?                            ;Virtual disk file handle
ROM     DB 0                            ;Non-zero => terminate after 32K

OPEN:   MOV AH,3CH                      ;Create the virtual disk file

**** Code excerpt stops here ****

And now from the current? Source I pulled from John's archive...

;6809 TRS-80 CoCo 3 Emulator (C) 1993-1998 Jeff Vavasour
;6309 Microprocessor Enhancements (C) 2002-2004 John Collyer
;
;For contact information and more details:
;
;http://users.zoominternet.net/~johncollyer/
;
        TITLE Colour Computer Real-to-Virtual Disk Transfer

        ASSUME CS:PROG,DS:PROG

NSEC EQU 18
FIRST_TRACK  EQU 0
FIRST_SECTOR EQU 1

        EXTRN PHYS_READ:NEAR,INITIALIZE:NEAR,DRIVE_TYPE:BYTE

        PUBLIC FDC_TRACK,FDC_SECTOR,DOUBLE_STEP,DRIVE_SEL,HANDLE,DTA

STACK   SEGMENT STACK
        DB 512 DUP(?)
STACK   ENDS

PROG    SEGMENT PUBLIC 'CODE'

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MSG1    DB 'Usage: RETRIEVE [/2] [/8] [/D] [/T] [/R] [d:] [path\]diskname[.DSK]',13,10
        DB '         "d:"         source drive (default A:)',13,10
        DB '         "path"       destination directory for virtual disk',13,10
        DB '         "diskname"   name of virtual disk',13,10
        DB '         /2           to read the second side of the disk',13,10
        DB '         /8           if using 80-track disks in a 1.2Mb drive',13,10
        DB '         /D           if using an double sided disk in drive',13,10
        DB '         /T40         40 (tracks/per/side) (default = 35)',13,10
        DB '         /T80         80 (tracks/per/side) (default = 35)',13,10
        DB '         /R           to retrieve the ROM image (see manual)',13,10
        DB 13,10,'You must specify the name of the virtual disk.',13,10,'$'
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MSG2    DB 'Unable to create specified virtual disk.',13,10,'$'
MSG2B   DB 13,10,'Warning!  May not have found all sectors on track.',13,10,'$'
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


*** Code excerpt stops here ***


In both cases I pasted from the beginning of the code down to where the usage sytax is given.  It is already apparent how different they are.  So far I haven't gotten a reply back from Jeff


As for my references to a potential head alignment problem... I meant that the possibility occurred to me that it 'might' be an alignment problem with one head so I swapped drives on both the PC side and the CoCo side and the problem remains.   This eliminates that possibility and so the issue must be in software.  

I wish I was familiar enough with MASM or a compatible assembler package to do a walk-through 'Debug' trace of what the program is doing and monitor stacks/variables etc for clues the way I do when debugging my .NET applications. I know there are people out there a lottt smarter than me that could figure this out in a few minutes probably after getting familiar with the code and situation. I guess those people have better things to do with their brains :/

-----Original Message-----
From: Coco [mailto:coco-bounces at maltedmedia.com] On Behalf Of Stephen H. Fischer
Sent: Thursday, January 15, 2015 1:40 AM
To: CoCoList for Color Computer Enthusiasts
Subject: Re: [Coco] Rusty ole FD-501

John's files on RTSI are different versions? I do see two CoCo3x.exe files and they are different but exact ally the difference needs a binary compare which I do not have handy. Dates are in 2015? What is doing the unzipping is messing with the dates. W7, say it is not true that you are doing this. 

IZArc says 2/17/2004 and 11/28/2003 so the CoCo3x.exe have different dates.

Just one Retrieve.exe and one Dskini.exe.

We need to be more careful with what we are saying, I keep reading things that make me wonder what is being said.

> PC drive's 2nd head was slightly out of alignment 

Been there, done that. I homemade a SYM-1 system and got FLEX09 running with two (2) drives with heads out of alignment. (Single sided.)

(Anyone see what is missing in that statement? One more thing should jump out.)

If John's Retrieve.exe is not what you are trying to use, please do not say more. I know that Jeff's original Retrieve. exe did have the second side option. How else did I read all my double sided DECB disks. John had not started at that point in time.
 
> P.s. I will try looking for Johns source on maltedmedia later..maybe something useful will turn up

Perhaps Bill can report on what he has of John's emulator. I cannot take the time now to look for what I was using of John's emulator.

SHF

----- Original Message ----- 
From: "Chad H" <chadbh74 at hotmail.com>
To: <coco at maltedmedia.com>
Sent: Wednesday, January 14, 2015 10:49 PM
Subject: Re: [Coco] Rusty ole FD-501


> Those 3 RTSI links I saw the other day got me the older v1.3 and the current release.  But the 1.3 won't even do the second sidecar all..not a option.
> 
> A thought kept recurring in my mind that maybe there was a explanation in head alignment...and if the PC drive's 2nd head was slightly out of alignment then maybe the DSKINI utility was making it readable to itself (I.e. RETRIEVE) because of that.  But tonight I swapped drives on both sides and also the same behavior has existed on the 5.25" drives.  It has to be in the software somehow.
> 
> My Windows 98 tower also has a failing 6GB hard drive so im trying to back it up before I swap it out with a spare 40gb.   Funny how the boot HDD just keeps on ticking though @ 640MB.
> 
> What I would really like to see is a way to put one of my spare Iomega Zip 100 drives in a FD-500 enclosure or something...100mb disk cartridges.  Unfortunately they are IDE interface not floppy.
> 
> I've got wayyyyy toooo much 80s - 90s storage media around.  I still have dozens of QIC80 tapes packed with old DOS / Windows 3.1 applications and games.  The parallel port Trakker drive for them still runs great.
> 
> Sent from my Transformer Infinity
> 
> -------- Original Message --------
> From: "Stephen H. Fischer" <SFischer1 at Mindspring.com>
> Sent: Wednesday, January 14, 2015 11:35 PM
> To: Bill Pierce <ooogalapasooo at aol.com>,CoCoList for Color Computer Enthusiasts <coco at maltedmedia.com>
> Subject: Re: [Coco] Rusty ole FD-501
> 
> Did you miss the three links to RTSI posted? maltedmedia????
> 
> He has already said the the source has changed so much between Jeff's version to John's version that a comparison cannot be done easily, if at all.
> 
> The source files are included but some of what John was working on when he left in a huff is not included and wanted.
> 
> I think the messages to search in for John's posts are on the external hard drive I last used a year ago.
> 
> SHF
> 
> ----- Original Message -----
> From: "Bill Pierce via Coco" <coco at maltedmedia.com>
> To: <coco at maltedmedia.com>
> Sent: Wednesday, January 14, 2015 9:11 PM
> Subject: Re: [Coco] Rusty ole FD-501
> 
> 
>>
>> The easiest way to find out what John did to the emulator is to compare his sources to Jeff's sources.
>> Jeff's version is on his site. John's version is in maltedmedia and kinda hard to find (buried in a zip somewhere) But I have the source files.
>> I ran John's version of the Coco 3 emulator from the time he released it up until Joseph got Vcc 1.41 semi-stable. John's 6309 emulator was what I was running NitrOS9 L3 on after I found Alan's site. About that same time I moved to WinXP and couldn't run Jeff/John's emulator any more without a VBox and went to VCC 1.41 which still had some problems so I tried Mess. Mess was going through some changes and got screwed up (and still is) about the same time Joseph got Vcc 1.42 released, so I switched and that's where I stayed.
>>
>>
>> Jeff's Coco3 Emulator -1994 - 2001
>> John's 6309+ enhancements - 2003 (from the source dates)
>>
>>
>> Bill Pierce
> 
> 
> --
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco
> 
> -- 
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco
>

-- 
Coco mailing list
Coco at maltedmedia.com
https://pairlist5.pair.net/mailman/listinfo/coco



More information about the Coco mailing list