[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Virtual serial drive



On 9/4/2012 11:59 AM, BLuRry wrote:
On Tuesday, September 4, 2012 6:28:34 AM UTC-5, schmidtd wrote:
On 9/4/2012 4:46 AM, Ric wrote:> I try on my //c 255 rom but don't work
right.

  > Should be rewrite serial card subroutine on file SERIAL.DRIVE
  > The command dos is Apple2VirtualDrive COM1 disk.hdv

It won't work on a IIc because it is currently hard-coded to talk to the
GS serial hardware.  I've got the serial code isolated and bolted the
serial backend of ADTPro to it, and now it'll use whatever hardware is
supported by that.  But I still have to get the driver to attach to
ProDOS correctly - I'm reading the Beyond ProDOS book for that now.

That's a pretty easy problem to fix!

The 'problem' isn't the comms - I'm pretty solid on that - the problem is cleanly interfacing to the P8 driver model. I expect that a "hello world" message from the driver's entry point that is fed to DEVADR21 (he calls it DEV2S1) should produce that message when doing a CAT,S2,D1 - but it crashes instead.

The initialization code doesn't quite look complete to me, or at least my translation to ca65 didn't come across quite right:

; ADD POINTER TO DRIVER
	LDA	#<DRIVER
	STA	DEV2S1
	LDA	#>DRIVER
	STA	DEV2S1+1
; ADD TO DEVICE LIST
	INC	DEVCNT
	LDY	DEVCNT
	LDA	#$20 ; SLOT 2 DRIVE 1
	STA	DEVLST,Y
	RTS

Where "DRIVER" is the entry point to the block driver command processor. Terrence had only stored a value at DEV2S1+1, which can't be right...