• Please review our updated Terms and Rules here

External 5.25 floppies: Tandy & Backpack

mt777

Experienced Member
Joined
Apr 28, 2019
Messages
141
Location
Poland, USA DE
I have two external drives:
Tandy model: 25-1087 (Microsolutions 30772a)
Backpack model: 1231 (Microsolutions 40772a)

My main goal is making backpack as dual drive and Tandy as 360K drive.
Problem: Tandy doesn't initialize with backpack drivers and SETID tool doesn't work (to change drivetype).

I swapped 93c46k eeproms from Backpack and then Tandy doesn't respond.

Maybe someone has Backpack device based on chip 30772a?

Currently what I can do is set Backpack as 360K, keep Tandy as 1.2MB
 

Attachments

  • tandy.jpg
    tandy.jpg
    156.4 KB · Views: 9
  • backpack.jpg
    backpack.jpg
    129.4 KB · Views: 9
I just got one of the Tandy 25-1087 drives. The EXTDRVR.SYS driver has an undocumented DRIVETYPE setting with parameters including 360, 720, 800 (?), 1.2, 1.44, and 2.88, but no matter what I set it to, it ignores it and sets the drive type to 5.25" 1.2 MB.
 
I just got one of the Tandy 25-1087 drives. The EXTDRVR.SYS driver has an undocumented DRIVETYPE setting with parameters including 360, 720, 800 (?), 1.2, 1.44, and 2.88, but no matter what I set it to, it ignores it and sets the drive type to 5.25" 1.2 MB.

will check it myself in next week. thanks
 
Okay, but I'm pretty sure that it's not a generic Backpack drive.

If you want to dink around with one, several years ago, I posted the source for a Backpack floppy driver (supplied, IIRC, basic int 13 services, but I'm not certain).
 
Okay, but I'm pretty sure that it's not a generic Backpack drive.

If you want to dink around with one, several years ago, I posted the source for a Backpack floppy driver (supplied, IIRC, basic int 13 services, but I'm not certain).
Not able to find this post; lost in the site-transition? Could you point it out or perhaps repost?

Have an Irwin tape drive (A120EP-05) with an attached backpack-like adapter whose innards rather look like the Tandy and Backpack PCBs in terms of components (but not layout). The early Irwin tape drives present a FDD-like interface and work with standard FDD controllers, but specialized driver software. Since the Backpack units interface using a standard EPP interface the "secret sauce" is in the protocol, which doesn't seem to be documented anywhere. Your source would be interesting to study ("dink around with"). Do you perhaps know of any germane documentation -- either for a BP-floppy or a BP-tape? Thank you!
 
There was a lot of variation in parallel port devices, so it's not one-size fits all. For example, I have several parallel-to-SCSI adapters. All use the same NCR chip and none is compatible with anyone else's drivers.

However, have a look at the NECPACK.ZIP file here.
 
1) Yes, but note the licensing terms in the code.

I saw that, and was grateful. Just was wondering about the current IP holder. Something you can't necessarily know from an old copyright notice.

I also see it is set to the 286 instruction set. What's you're guess on how hard it would be to drop it down to 8088/86?
 
I suppose when I'm pushing up daisies, the Sydex IP owner will be unknown. :)
I think that the big job is the extensive use of INVOKE and PROTO, particularly the former using constants. INVOKE uses the 286 PUSH <constant> instruction, as well as ENTER/LEAVE. If I look at older MASM 4 code, I see that I defined similar macros to do the same but with 8086 instructions. Something like this (uses AX to push constants).
Code:
;*	'C' entry point code and define local parameters.
;

center	 macro	 l,v		 ;; takes <parmlist>,<localvars>
??lcntr =	0
	irp	k,<v>		;; see about local parameters
??lc4	instr	<k>,<=>
	if	??lc4
??lc5	substr	<k>,??lc4+1	;; get count
??lc6	substr	<k>,1,??lc4-1	;; and symbol
	.cpdef	%??lc6,??lcntr
??lcntr		=	??lcntr+??lc5
	else
k	=	??lcntr
??lcntr =	??lcntr+2
	endif
	endm

	push	bp
	if	??lcntr ne 0
	sub	sp,??lcntr
	endif
	mov	bp,sp

??pcntr =	??lcntr+4
	irp	k,<l>
k	=	??pcntr
??pcntr =	??pcntr+2
	endm
	endm

.cpdef	macro	s,v
s	=	v
	endm

	 'C' exit code

cexit	macro
	mov	sp,bp
	if	??lcntr ne 0
	add	sp,??lcntr
	endif
	pop	bp
	ret
	endm

;	Call 'C' routine.

ccall	macro	rout,list
??lc1	=	0
	irp	k,<list>
??lc1	=	??lc1+1		;; count 'em
	endm
??lc3	=	??lc1
	rept	??lc3
??lc2	=	0
	irp	k2,<list>
??lc2	=	??lc2+1
	if	??lc2 eq ??lc1
	.cpar	<k2>
	endif
	endm
??lc1	=	??lc1-1
	endm
	call	rout
	mov	sp,bp
??lastx =	-12345
	endm

??lastx =	$

.cpar	macro	par		;; parameter macro
??lc4	instr	<par>,<=>
	if	??lc4
??lc5	substr	<par>,2
	.chk	??lastx,??lc5
	if	??chk
	mov	ax,??lc5
??lastx =	??lc5
	endif
	push	ax
	else
	push	par
	endif
	endm

.chk	macro	p1,p2
??chk	=	p1 ne p2
	endm

Of course, you can easily make up your own versions.
 
Back
Top