00000000: 31 35 34 31 20 64 6F 73 20 6D 41 50 0D 2D 2D 2D |1541 dos mAP.---|
00000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 0D 0D 68 65 |----------....he|
00000020: 78 20 61 64 64 72 65 73 73 20 20 64 65 73 63 72 |x address descr|
00000030: 69 70 74 69 6F 6E 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D |iption.---------|
00000040: 2D 2D 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |-- ------------|
00000050: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 30 30 30 30 |-----------.0000|
00000060: 20 2D 20 30 30 30 35 20 20 4A 4F 42 20 51 55 45 | - 0005 JOB QUE|
00000070: 55 45 0D 30 30 30 36 20 2D 20 30 30 31 31 20 20 |UE.0006 - 0011 |
00000080: 54 52 41 43 4B 2C 53 45 43 54 4F 52 20 51 55 45 |TRACK,SECTOR QUE|
00000090: 55 45 0D 30 30 31 32 20 2D 20 30 30 31 35 20 20 |UE.0012 - 0015 |
000000A0: 4D 41 53 54 45 52 20 43 4F 50 59 20 4F 46 20 69 |MASTER COPY OF i|
000000B0: 64 0D 30 33 30 30 20 2D 20 30 37 66 66 20 20 42 |d.0300 - 07ff B|
000000C0: 55 46 46 45 52 20 30 2D 34 0D 31 38 30 30 20 2D |UFFER 0-4.1800 -|
000000D0: 20 31 38 30 65 20 20 53 45 52 49 41 4C 20 50 4F | 180e SERIAL PO|
000000E0: 52 54 20 36 35 32 32 0D 31 63 30 30 20 2D 20 31 |RT 6522.1c00 - 1|
000000F0: 63 30 65 20 20 44 49 53 4B 20 43 4F 4E 54 52 4F |c0e DISK CONTRO|
00000100: 4C 4C 45 52 20 36 35 32 32 0D 63 30 30 30 20 2D |LLER 6522.c000 -|
00000110: 20 66 66 66 66 20 20 72 6F 6D 0D 2D 2D 2D 2D 2D | ffff rom.-----|
00000120: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000130: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D |--------------..|
00000140: 0D 0D 68 65 78 20 6A 6F 62 0D 20 63 6F 64 65 73 |..hex job. codes|
00000150: 20 20 20 20 20 64 65 73 63 72 69 70 74 69 6F 6E | description|
00000160: 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 20 20 20 2D 2D 2D |.--------- ---|
00000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000180: 2D 2D 2D 2D 2D 0D 20 20 20 38 30 20 20 20 20 20 |-----. 80 |
00000190: 20 20 52 45 41 44 0D 20 20 20 39 30 20 20 20 20 | READ. 90 |
000001A0: 20 20 20 57 52 49 54 45 0D 20 20 20 61 30 20 20 | WRITE. a0 |
000001B0: 20 20 20 20 20 56 45 52 49 46 59 0D 20 20 20 62 | VERIFY. b|
000001C0: 30 20 20 20 20 20 20 20 53 45 45 4B 0D 20 20 20 |0 SEEK. |
000001D0: 62 38 20 20 20 20 20 20 20 53 45 43 54 4F 52 20 |b8 SECTOR |
000001E0: 53 45 45 4B 0D 20 20 20 63 30 20 20 20 20 20 20 |SEEK. c0 |
000001F0: 20 42 55 4D 50 0D 0D 20 20 20 64 30 20 20 20 20 | BUMP.. d0 |
00000200: 20 20 20 4A 55 4D 50 0D 20 20 20 65 30 20 20 20 | JUMP. e0 |
00000210: 20 20 20 20 45 58 45 43 55 54 45 0D 2D 2D 2D 2D | EXECUTE.----|
00000220: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000230: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000240: 0D 0D 0D 0D 72 65 74 75 72 6E 0D 63 6F 64 65 73 |....return.codes|
00000250: 20 20 20 20 64 65 73 63 72 69 70 74 69 6F 6E 0D | description.|
00000260: 2D 2D 2D 2D 2D 2D 2D 20 20 20 2D 2D 2D 2D 2D 2D |------- ------|
00000270: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000280: 2D 2D 2D 2D 0D 20 20 20 30 31 20 20 20 20 20 4E |----. 01 N|
00000290: 4F 20 45 52 52 4F 52 0D 20 20 20 30 32 20 20 20 |O ERROR. 02 |
000002A0: 20 20 43 41 4E 27 54 20 46 49 4E 44 20 42 4C 4F | CAN'T FIND BLO|
000002B0: 43 4B 20 48 45 41 44 45 52 0D 20 20 20 30 33 20 |CK HEADER. 03 |
000002C0: 20 20 20 20 4E 4F 20 53 59 4E 43 0D 20 20 20 30 | NO SYNC. 0|
000002D0: 34 20 20 20 20 20 44 41 54 41 20 42 4C 4F 43 4B |4 DATA BLOCK|
000002E0: 20 4E 4F 54 20 50 52 45 53 45 4E 54 0D 0D 20 20 | NOT PRESENT.. |
000002F0: 20 30 35 20 20 20 20 20 43 48 45 43 4B 53 55 4D | 05 CHECKSUM|
00000300: 20 45 52 52 4F 52 20 49 4E 20 44 41 54 41 0D 20 | ERROR IN DATA. |
00000310: 20 20 30 37 20 20 20 20 20 57 52 49 54 45 2D 56 | 07 WRITE-V|
00000320: 45 52 49 46 59 20 45 52 52 4F 52 0D 20 20 20 30 |ERIFY ERROR. 0|
00000330: 38 20 20 20 20 20 57 52 49 54 45 20 50 52 4F 54 |8 WRITE PROT|
00000340: 45 43 54 20 45 52 52 4F 52 0D 20 20 20 30 39 20 |ECT ERROR. 09 |
00000350: 20 20 20 20 43 48 45 43 4B 53 55 4D 20 45 52 52 | CHECKSUM ERR|
00000360: 4F 52 20 49 4E 20 48 45 41 44 45 52 0D 20 20 20 |OR IN HEADER. |
00000370: 30 61 20 20 20 20 20 44 41 54 41 20 47 4F 45 53 |0a DATA GOES|
00000380: 20 49 4E 54 4F 20 4E 45 58 54 20 42 4C 4F 43 4B | INTO NEXT BLOCK|
00000390: 0D 20 20 20 30 62 20 20 20 20 20 44 49 53 4B 20 |. 0b DISK |
000003A0: 69 64 20 4D 49 53 4D 41 54 43 48 0D 20 20 20 31 |id MISMATCH. 1|
000003B0: 30 20 20 20 20 20 67 63 72 20 44 45 43 4F 44 45 |0 gcr DECODE|
000003C0: 20 45 52 52 4F 52 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D | ERROR.---------|
000003D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
000003E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 0D D4 4F |-----------....O|
000003F0: 20 45 58 45 43 55 54 45 20 41 20 4A 4F 42 20 49 | EXECUTE A JOB I|
00000400: 4E 20 54 48 45 20 43 4F 4E 54 52 4F 4C 4C 45 52 |N THE CONTROLLER|
00000410: 2C 20 57 52 49 54 45 20 54 48 45 20 54 52 41 43 |, WRITE THE TRAC|
00000420: 4B 20 41 4E 44 20 53 45 43 54 4F 52 20 46 4F 52 |K AND SECTOR FOR|
00000430: 20 54 48 45 20 43 4F 52 52 45 53 50 4F 4E 44 49 | THE CORRESPONDI|
00000440: 4E 47 20 4A 4F 42 20 49 4E 20 54 48 45 20 54 52 |NG JOB IN THE TR|
00000450: 41 43 4B 2C 20 53 45 43 54 4F 52 20 54 41 42 4C |ACK, SECTOR TABL|
00000460: 45 20 41 4E 44 20 54 48 45 20 4A 4F 42 20 43 4F |E AND THE JOB CO|
00000470: 44 45 20 49 4E 20 54 48 45 20 4A 4F 42 20 51 55 |DE IN THE JOB QU|
00000480: 45 55 45 2E 0D 74 48 45 20 44 41 54 41 20 42 55 |EUE..tHE DATA BU|
00000490: 46 46 45 52 20 4E 55 4D 42 45 52 20 41 4C 53 4F |FFER NUMBER ALSO|
000004A0: 20 43 4F 52 45 53 50 4F 4E 44 53 20 54 4F 20 54 | CORESPONDS TO T|
000004B0: 48 45 20 4A 4F 42 20 4E 55 4D 42 45 52 2E 0D 0D |HE JOB NUMBER...|
000004C0: 0D 20 20 20 C5 78 61 6D 70 6C 65 3A 20 52 45 41 |. .xample: REA|
000004D0: 44 20 54 52 41 43 4B 20 30 38 20 53 45 43 54 4F |D TRACK 08 SECTO|
000004E0: 52 20 30 31 20 49 4E 54 4F 20 42 55 46 46 45 52 |R 01 INTO BUFFER|
000004F0: 20 30 20 2D 0D 0D 20 20 20 20 20 20 20 4C 44 41 | 0 -.. LDA|
00000500: 20 23 30 38 20 20 20 20 20 3B 54 52 41 43 4B 0D | #08 ;TRACK.|
00000510: 20 20 20 20 20 20 20 53 54 41 20 24 30 30 30 36 | STA $0006|
00000520: 20 20 20 3B 54 4F 20 54 52 41 43 4B 20 54 41 42 | ;TO TRACK TAB|
00000530: 4C 45 0D 20 20 20 20 20 20 20 4C 44 41 20 23 30 |LE. LDA #0|
00000540: 31 20 20 20 20 20 3B 53 45 43 54 4F 52 0D 20 20 |1 ;SECTOR. |
00000550: 20 20 20 20 20 53 54 41 20 24 30 30 30 37 20 20 | STA $0007 |
00000560: 20 3B 54 4F 20 53 45 43 54 4F 52 20 54 41 42 4C | ;TO SECTOR TABL|
00000570: 45 0D 20 20 20 20 20 20 20 4C 44 41 20 23 24 62 |E. LDA #$b|
00000580: 30 20 20 20 20 3B 4A 4F 42 20 54 4F 20 52 45 41 |0 ;JOB TO REA|
00000590: 44 20 49 44 0D 20 20 20 20 20 20 20 53 54 41 20 |D ID. STA |
000005A0: 24 30 30 30 30 20 20 20 3B 54 4F 20 4A 4F 42 20 |$0000 ;TO JOB |
000005B0: 51 55 45 55 45 0D 20 20 20 20 20 20 20 20 20 20 |QUEUE. |
000005C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000005D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4C | L|
000005E0: 4F 4F 50 31 20 4C 44 41 20 24 30 30 30 30 0D 20 |OOP1 LDA $0000. |
000005F0: 20 20 20 20 20 20 42 4D 49 20 4C 4F 4F 50 31 20 | BMI LOOP1 |
00000600: 20 20 3B 57 41 49 54 20 54 49 4C 4C 20 44 4F 4E | ;WAIT TILL DON|
00000610: 45 0D 20 20 20 20 20 20 20 43 4D 50 20 23 30 31 |E. CMP #01|
00000620: 20 20 20 20 20 3B 47 4F 4F 44 20 52 45 54 55 52 | ;GOOD RETUR|
00000630: 4E 0D 20 20 20 20 20 20 20 42 4E 45 20 45 52 52 |N. BNE ERR|
00000640: 4F 52 0D 20 20 20 20 20 20 20 4C 44 41 20 23 24 |OR. LDA #$|
00000650: 38 30 20 20 20 20 3B 52 45 41 44 20 4A 4F 42 0D |80 ;READ JOB.|
00000660: 20 20 20 20 20 20 20 53 54 41 20 24 30 30 30 30 | STA $0000|
00000670: 20 20 20 3B 54 4F 20 4A 4F 42 20 51 55 45 55 45 | ;TO JOB QUEUE|
00000680: 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. |
00000690: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000006A0: 20 20 20 20 20 20 20 20 20 20 4C 4F 4F 50 32 20 | LOOP2 |
000006B0: 4C 44 41 20 24 30 30 30 30 0D 20 20 20 20 20 20 |LDA $0000. |
000006C0: 20 42 4D 49 20 4C 4F 4F 50 32 20 20 20 3B 57 41 | BMI LOOP2 ;WA|
000006D0: 49 54 20 54 49 4C 4C 20 44 4F 4E 45 0D 0D 20 20 |IT TILL DONE.. |
000006E0: 20 20 20 20 20 43 4D 50 20 23 30 31 20 20 20 20 | CMP #01 |
000006F0: 20 3B 47 4F 4F 44 20 52 45 54 55 52 4E 3F 0D 20 | ;GOOD RETURN?. |
00000700: 20 20 20 20 20 20 42 4E 45 20 45 52 52 4F 52 0D | BNE ERROR.|
00000710: 20 20 20 20 20 20 20 52 54 53 20 20 20 20 20 20 | RTS |
00000720: 20 20 20 3B 44 41 54 41 20 49 4E 20 42 55 46 46 | ;DATA IN BUFF|
00000730: 45 52 20 30 0D 20 20 20 20 20 20 20 20 20 20 20 |ER 0. |
00000740: 20 20 20 20 20 20 20 20 3B 20 28 24 30 33 30 30 | ; ($0300|
00000750: 2D 30 33 66 66 29 0D 0D 20 20 20 |-03ff).. |
1541 DOS MAP.-------------....HEX ADDRES
S DESCRIPTION.----------- ------------
-----------.0000 - 0005 JOB QUEUE.0006
- 0011 TRACK,SECTOR QUEUE.0012 - 0015
MASTER COPY OF ID.0300 - 07FF BUFFER 0-
4.1800 - 180E SERIAL PORT 6522.1C00 - 1
C0E DISK CONTROLLER 6522.C000 - FFFF R
OM.-----------------------------------..
..HEX JOB. CODES DESCRIPTION.-------
-- ------------------------. 80
READ. 90 WRITE. A0 VER
IFY. B0 SEEK. B8 SECTOR
SEEK. C0 BUMP.. D0 JUMP.
E0 EXECUTE.--------------------
----------------....RETURN.CODES DESC
RIPTION.------- ----------------------
----. 01 NO ERROR. 02 CAN'T
FIND BLOCK HEADER. 03 NO SYNC. 0
4 DATA BLOCK NOT PRESENT.. 05
CHECKSUM ERROR IN DATA. 07 WRITE-V
ERIFY ERROR. 08 WRITE PROTECT ERRO
R. 09 CHECKSUM ERROR IN HEADER.
0A DATA GOES INTO NEXT BLOCK. 0B
DISK ID MISMATCH. 10 GCR DECODE
ERROR.---------------------------------
---...TO EXECUTE A JOB IN THE CONTROLLER
, WRITE THE TRACK AND SECTOR FOR THE COR
RESPONDING JOB IN THE TRACK, SECTOR TABL
E AND THE JOB CODE IN THE JOB QUEUE..THE
DATA BUFFER NUMBER ALSO CORESPONDS TO T
HE JOB NUMBER.... EXAMPLE: READ TRACK
08 SECTOR 01 INTO BUFFER 0 -.. LDA
#08 ;TRACK. STA $0006 ;TO T
RACK TABLE. LDA #01 ;SECTOR.
STA $0007 ;TO SECTOR TABLE.
LDA #$B0 ;JOB TO READ ID. STA
$0000 ;TO JOB QUEUE.
LOOP1 LDA $0000.
BMI LOOP1 ;WAIT TILL DONE.
CMP #01 ;GOOD RETURN. BNE ERR
OR. LDA #$80 ;READ JOB. S
TA $0000 ;TO JOB QUEUE.
LOOP2 LDA $000
0. BMI LOOP2 ;WAIT TILL DONE..
CMP #01 ;GOOD RETURN?. BN
E ERROR. RTS ;DATA IN BUFF
ER 0. ; ($0300-03FF)..
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL