[Coco] SIDE for OS-9 SuperIDE :D

Retro Canada retrocanada76 at gmail.com
Sat Oct 13 15:17:51 EDT 2012


Hello all,

I made a small basic09 tool to allow copying RS-DOS disks fom DW to
SuperIDE in OS-9 :)

The same syntax as my windows version:

so you want to transfer GAME01.DSK from DW to drive 10 on superIDE you type:

side put /X0 10 /I0

Or to get a .DSK from sIDE to DW:

side get /X0 10 /I0

No need to unplug CF, connect to CF adapter and run SIDEWalk or my side tool

here is the code:

BTW: it dmodes the devices, so don't use on /DD but take /I0 instead.
It will work from/to real floppies to.

--
PROCEDURE side
PARAM mod$,rsdos$,num$,ide$
ON ERROR GOTO 100
DIM in,out:BYTE
DIM t,s,drv:INTEGER
DIM sector(256):BYTE
DIM ofs:REAL
SHELL "dmode "+ide$+" cyl=23 sid=1 sct=12 t0s=12 ilv=3 wpc=05 ofs=2ddc"
SHELL "dmode "+rsdos$+" cyl=23 sid=1 sct=12 t0s=12 ilv=3"
drv = VAL(num$)
ofs = drv * 630.
IF mod$="put" THEN
OPEN #in,rsdos$+"@":READ
OPEN #out,ide$+"@":WRITE
FOR t=34 TO 0 STEP -1
FOR s=17 TO 0 STEP -1
SEEK #in,(t*18+s)*256.
GET #in,sector
SEEK #out,(ofs+t*18+s)*512
PUT #out,sector
PUT #out,sector
NEXT s
NEXT t
CLOSE #in
CLOSE #out
ELSE
IF mod$="get" THEN
OPEN #out,rsdos$+"@":WRITE
OPEN #in,ide$+"@":READ
FOR t=34 TO 0 STEP -1
FOR s=17 TO 0 STEP -1
SEEK #in,(ofs+t*18+s)*512
GET #in,sector
SEEK #out,(t*18+s)*256.
PUT #out,sector
NEXT s
NEXT t
CLOSE #out
CLOSE #in
ELSE
GOTO 100
ENDIF
ENDIF
100 errnum=ERR
IF errnum=56 THEN
PRINT "Side 1.0"
PRINT "HDB-DOS virtual disk tool for Cloud9 SuperIDE"
PRINT "Author: Luis F. Antoniosi - felipe.antoniosi at gmail.com"
PRINT "WARNING: 256MB devices with 256 virtual drives only"
PRINT ""
PRINT "Usage:"
PRINT ""
PRINT "side [get|put] <rsdos device> <drive number> <ide device>"
PRINT ""
PRINT "Examples:"
PRINT ""
PRINT "side get /X0 128 /I0"
PRINT "side put /D0 255 /I0"
ELSE
IF errnum<>0 THEN
PRINT "ERROR #"+STR$(errnum)
ENDIF
ENDIF



More information about the Coco mailing list