Technical Reference

Appendix P

P.1   TRANSFERRING ASCII FILES FROM COMMODORE TO SIRIUS

Ascii files including programs may be transferred from C.B.M. computers to SIRIUS via the C.B.M. user port and the SIRIUS 1 control port.

CABLE - a download cable is attached to the 50-pin internal user port (Jack-5) on the SIRIUS CPU board. The other end of the cable is connected to the user port (J2) of the Commodore.

            C.B.M. (J2)                      SIRIUS (J5)

          GND     A --------------------------- 11   GND
          PA0     C --------------------------- 16   PA0
          PA1     D --------------------------- 18   PA1
          PA2     E --------------------------- 20   PA2
          PA3     F --------------------------- 22   PA3
          PA4     H --------------------------- 24   PA4
          PA5     J --------------------------- 26   PA5
          PA6     K --------------------------- 28   PA6
          PA7     L --------------------------- 30   PA7
          CB2     M --------------------------- 12   DSTB

SOFTWARE - For Sirius, a utility called PIPPIN.CMD is available from most dealers and distributers. It will work under CP/M-86 or MS-DOS (with emulation) perfectly.

           
By invoking A>PIPPIN FILENAME=INP:[E]  
PIPPIN can also be invoked by PIPPIN and a '*' will appear to accept the remaining command, the difference is that PIPPIN will stay active if invoked this way and allow for multiple transfer of files without it returning to the operating system and having to be re-loaded each time.

The byte-stream transmitted from the source machine can be stored in the file, FILENAME, on the SIRIUS. This byte-stream MUST be terminated with an ASCII end-of-file character, ^Z (1AH). The [E] option causes PIPPIN to echo the transfer to the screen. "Wildcard" file designators may not be used in this operation.

SOFTWARE - For C.B.M., the following program may be used for the Commodore computer. If compiled it will run significantly faster.

Note: If you wish to transfer programs from the Commodore, you must first convert them to ASCII. This may be done as follows:

           DLOAD"PROGRAM NAME",D0  
          
           DOPEN#5,"ASCII NAME",W,D0:CMD5:LIST          
          
           PRINT#5,:DCLOSE  

You now have an ASCII version of your program on disc.

10 REM ****************************************
20 REM *       			              *
30 REM * C.B.M. TO SIRIUS ASCII FILE TRANSFER *
40 REM *                                      *
50 REM *  BY KEITH PICKUP - BARSON COMPUTERS  *
55 REM *                                      *
60 REM *    this version for C.B.M. 8032      *
65 REM *                                      *
70 REM *  s=home  ^=clr/home  q=cursor down   *
80 REM *       r=rvs/on     o=rvs/off         *
85 REM *                                      *
90 REM ****************************************
100 PRINT"sss^";
110 SP$="                                                  ":SP$=SP$+SP$
120 PRINT"^qr C.B.M. TO SIRIUS 1 FILE TRANSFER PROGRAM - (C) KEITH PICKUP";
130 PRINT" [BARSON COMPUTERS] o";
140 PRINT:PRINT:INPUT"WHAT IS THE NAME OF THE PROGRAM TO TRANSFER ";PG$
150 DOPEN#5,(PG$),R:SC=33487
160 IFDS=62THENPRINT"qrFILE - NOT FOUNDo":FORY=1TO1500:NEXT:DCLOSE:GOTO100
170 PRINT:PRINT"TRANSFERRING FILE r";PG$;"o TO SIRIUS 1"
175 PRINT CHR$(15);
180 GET#5,A$
190 IFST=64THEN460                                  :REM DO END OF FILE 1A HEX
200 X=ASC(A$):IF X>127 THEN X=X-128                 :REM KEEP TO ASCII
205 :                                               :REM  & 
210 IFX=13THENGOSUB1000:X=10:GOSUB1000:CT=0:PRINT"^";:GOTO180
270 IFX<1THEN X=32
280 POKESC+CT,X
300 GOSUB 1000:GOTO 180                             :GO TO MAIN OUTPUT ROUTINE
460 REM END OF JOB
470 X=13:GOSUB1000:X=10:GOSUB1000:X=26:GOSUB1000:X=0:GOSUB1000:DCLOSE
480 PRINT"qqqqqqqqJOB COMPLETED - O.K. ":FORK=1TO3000:NEXT:CLR:GOTO100
1000 POKE59459,255                                  :REM SET DDR 0-7 AS OUTPUTS
1010 POKE59467,PEEK(59467)AND227                    :REM DISABLE SHIFT REG
1020 POKE59468,PEEK(59468)AND31OR192                :REM SET CB2 LOW
1030 POKE 59471,X:CT=CT+1                           :REM WRITE VAR. X TO ORA
1040 POKE59468,PEEK(59468)AND31OR224                :REM SET CB2 HIGH
1050 RETURN     






Last revision 29/01/2005