OSI OS-65D VER 3.X - CALL SUMMARY
---------------------------------

LAST UPDATED: 22-AUG-03

LOCATIONS:

E0-FF	    DOS WORK AREA

2300  BYTE  HIGHEST RAM PAGE#
2321  BYTE  CURRENT INPUT DEVICE(S)
2322  BYTE  CURRENT OUTPUT DEVICE(S)
2327  WORD  WORKSPACE POINTER ($3A7E FOR DOS V3.3, ELSE $327E)
265C  BYTE  DRIVE# 1-4
265D  BYTE  BCD TRACK# $01-$39
265E  BYTE  SECTOR# TO READ/WRITE (1-8)
265F  BYTE  #PAGES READ/TO WRITE (1-8)
2660  WORD  MEMORY TO READ/WRITE
2662  BYTE  BINARY TRACK# (1-39)
2779  BYTE  HIGHEST TRACK FOR DISK FORMAT (USUALLY=$39)
2CE5  BYTE  STRING BUFFER POSITION (0=START)
2E79        TEMP BUFFER (256 BYTES)
2F79        PAGE 0/1 SWAP BUFFER

DOS CALLS:

2336        INPUT CHAR (A) FROM KEYBOARD
2339        INPUT CHAR (A) FROM DEVICE WITH ECHO
2340        INPUT CHAR (A) FROM KEYBOARD WITH ECHO
2343        OUTPUT CHARACTER (A)
2663        GO TO TRACK 0
267A        DELAY (X) MSEC
2683        STEP ONE TRACK OUT (TOWARDS TRACK 0)
268A        STEP ONE TRACK IN (TOWARDS TRACK 39)
26A6        GO TO TRACK ($2662) BINARY
26BC        GO TO TRACK (A) BCD
271D        WAIT FOR END OF INDEX PULSE
2728        LOAD HEAD AND ...
272B        WAIT FOR END OF INDEX PULSE AND ...
272E        RESET DISK ACIA
2739        READ CURRENT TRACK (RAW) TO MEMORY ($FE)
2754        LOAD HEAD
2761        UNLOAD HEAD
2763        MASK DISK PIA PORT B WITH (A)
2768        FORMAT DISK (TRK 1-39)
277D        FORMAT CURRENT TRACK ($265D=TRK#)
27C2        WRITE DISK CHAR (X)
27CD        READ DISK CHAR (A)
27D7        WRITE DISK SECTOR ($265E) ($265F=PAGES, $2660=ADDR)
27E1        WRITE DISK SECTOR ($265E) ($265F=PAGES, $FE=ADDR)
28A2        DELAY (X) 0.1 MSEC
28C4        GOTO END OF PREVIOUS SECTOR ($265E)
295D        READ DISK SECTOR ($265E) ($265F=PAGES READ, $2660=ADDR)
2967        READ DISK SECTOR ($265E) ($265F=PAGES READ, $FE=ADDR)
2998        SCAN NEXT DISK SECTOR ($FB) ($FA=PAGES, NC=EOT)
29C6        SELECT DRIVE (A) (1-4)
2A51        RETURN TO DOS COMMAND PROMPT
2A7D        SET ERROR HANDLER (A,Y=LOW/HIGH)
2C9B        BUFFER: INPUT STRING
2CE4        BUFFER: GET CHARACTER (A)
2CF7        SWAPOUT PAGE 0/1
2D23        BUFFER: GET 4 DIGIT HEX NUMBER ($FE)
2D2E        BUFFER: GET 2 DIGIT HEX NUMBER (A)
2D3D        BUFFER: GET 1 DIGIT HEX NUMBER (A)
2D50        SWAPOUT PAGE 0/1 IF LOCATION $0000=0
2D58        BUFFER: GET CHARACTER '='
2D5B        BUFFER: GET CHARACTER ','
2D5E        BUFFER: GET CHARACTER '/'
2D6A        PRINT CRLF
2D73        PRINT IN-LINE STRING (NULL-TERMINATED)
2D92        PRINT BCD NUMBER (A)

