Edit> Pass: 1 0000(0000)-003D(003D) 0100(0100)-01FF(01FF) 0200(0200)-029A(029A) 0300(0300)-038F(038F) 0400(0400)-07FF(07FF) C000(C000)-D0A3(D0A3) FFF9(FFF9)-FFFF(FFFF) Pass: 2 00010 .IN "D:OSV24EQU.BIB 00010 ****************************** 00020 * * 00030 * Betriebssystem fuer das * 00040 * 3.5" Interface * 00050 * fuer den Atari XL/XE * 00060 * * 00070 * Hersteller: Erhard Puetz * 00080 * OS-Code : Erhard Puetz * 00090 * * 00100 * (c) 1989, 1990, 1991 * 00110 * * 00120 * Version : 2.8 * 00130 * * 00140 * UltraSpeed : Ja * 00150 * HD-Modus : Ja * 00160 * Sektoranordnung : Calc. * 00170 * Bootsektorpuffer : Ja * 00180 * Trackpuffer read : Nein * 00190 * Trackpuffer write: Nein * 00200 * ROM-Boot : Nein * 00210 * * 00220 ****************************** 00230 * .LI OF 00240 .NO 00250 ****************************** 00260 * * 00270 * Definition von Macros * 00280 * von 65C02 - Befehlen, * 00290 * die dieser bloede * 00300 * Assembler nicht kann. * 00310 * * 00320 ****************************** 00330 ; 0007: 00340 RBO = $07 ;Clear Bit on 0017: 00350 RB1 = $17 ;Page 0 Adr. 0027: 00360 RB2 = $27 0037: 00370 RB3 = $37 0047: 00380 RB4 = $47 0057: 00390 RB5 = $57 0067: 00400 RB6 = $67 0077: 00410 RB7 = $77 00420 ; 0087: 00430 SB0 = $87 ;Set Bit on 0097: 00440 SB1 = $97 ;Page 0 Adr. 00A7: 00450 SB2 = $A7 00B7: 00460 SB3 = $B7 00C7: 00470 SB4 = $C7 00D7: 00480 SB5 = $D7 00E7: 00490 SB6 = $E7 00F7: 00500 SB7 = $F7 00510 ; 000F: 00520 BR0 = $0F ;Branch on 001F: 00530 BR1 = $1F ;Bit reset 002F: 00540 BR2 = $2F 003F: 00550 BR3 = $3F 004F: 00560 BR4 = $4F 005F: 00570 BR5 = $5F 006F: 00580 BR6 = $6F 007F: 00590 BR7 = $7F 00600 ; 008F: 00610 BS0 = $8F ;Branch on 009F: 00620 BS1 = $9F ;Bit set 00AF: 00630 BS2 = $AF 00BF: 00640 BS3 = $BF 00CF: 00650 BS4 = $CF 00DF: 00660 BS5 = $DF 00EF: 00670 BS6 = $EF 00FF: 00680 BS7 = $FF 00690 ------------------------------ 00700 ;RIOT Ports (Ram: $4000-$407F) 00710 ------------------------------ 4000: 00720 RRAM = $4000 4080: 00730 PORTA = $4080 Bit 00740 ; 0 o TxC 00750 ; 1 o TC 00760 ; 2 i /IDX 00770 ; 3 o HDL 00780 ; 4 nc 00790 ; 5 nc 00800 ; 6 o PCVal 00810 ; 7 i /DC 4081: 00820 PACTL = $4081 4082: 00830 PORTB = $4082 00840 ; 0 o RST SIO 00850 ; 1 o RST FDC 00860 ; 2 o DRV FDC 00870 ; 3 i IRQ FDC 00880 ; 4 o A14 Rom 00890 ; 5 o A15 Rom 00900 ; 6 i /RDY 00910 ; 7 i D# 4083: 00920 PBCTL = $4083 00930 ------------------------------ 00940 ;RIOT Timer 00950 ------------------------------ 4084: 00960 RTIMID = $4084 ;%1000 0100 R 408C: 00970 RTIMIE = $408C ;%1000 1100 R 4085: 00980 IFLG = $4085 ;%1000 0101 R 4094: 00990 T0001D = $4094 ;%1001 0100 W 4095: 01000 T0008D = $4095 ;%1001 0101 W 4096: 01010 T0064D = $4096 ;%1001 0110 W 4097: 01020 T1024D = $4097 ;%1001 0111 W 409C: 01030 T0001E = $409C ;%1001 1100 W 409D: 01040 T0008E = $409D ;%1001 1101 W 409E: 01050 T0064E = $409E ;%1001 1110 W 409F: 01060 T1024E = $409F ;%1001 1111 W 01070 ------------------------------ 01080 ;SIO Adressen 01090 ------------------------------ 4100: 01100 SIODAT = $4100 4101: 01110 SIOCMD = $4101 4101: 01120 SIOST = $4101 01130 ------------------------------ 01140 ;Floppy Controller Adressen 01150 ------------------------------ 4200: 01160 FDCST = $4200 ;FDC Status R 4201: 01170 FDCDAT = $4201 ;FDC Data R/W 4300: 01180 OR = $4300 4400: 01190 CR = $4400 01200 ------------------------------ 0041: 01210 ACK = 'A 004E: 01220 NACK = 'N 0043: 01230 COMPLT = 'C 0045: 01240 ERROR = 'E 01250 ------------------------------ 01260 ;Seite 0 01270 ------------------------------ 01280 .OR $0000 0000: 00 00 01290 BUFADR .HX 0000 0002: 00 00 01300 BUFLEN .HX 0000 0004: 00 00 01310 BUFEND .HX 0000 0006: 00 00 01320 DIV .HX 0000 0008: 00 00 01330 DOR .HX 0000 000A: 00 00 01340 ZSP .HX 0000 000C: 00 2A 01350 D0PB .DA $2A00 000E: 80 2B 01360 D1PB .DA $2B80 0010: 00 2D 01370 D2PB .DA $2D00 0012: 80 2E 01380 D3PB .DA $2E80 0014: 00 00 01390 D0PT .HX 0000 0016: 00 00 01400 D1PT .HX 0000 0018: 00 00 01410 D2PT .HX 0000 001A: 00 00 01420 D3PT .HX 0000 01430 ------------------------------ 01440 ;Variablen fuer SIO 01450 ------------------------------ 001C: 00 01460 PSUMME .HX 00 001D: 00 01470 DRIVE .HX 00 001E: 00 01480 COMAND .HX 00 001F: 00 01490 DAUX1 .HX 00 0020: 00 01500 DAUX2 .HX 00 0021: 00 01510 .HX 00 empf.PSUMME 0022: 00 01520 STATUS .HX 00 0023: 00 01530 BAUD .HX 00 Zaehler fuer 01540 ;Sendetakt 01550 ------------------------------ 01560 ;Variablen fuer FDC 01570 ------------------------------ 0024: 00 01580 OFFDEL .HX 00 MotTimeout 0025: 00 00 00 01590 MOTIM .HX 000000 0028: 00 01600 ACTDRV .HX 00 0029: 00 01610 CYL .HX 00 002A: 00 01620 HEA .HX 00 002B: 00 01630 REC .HX 00 ;$04 002C: 00 01640 NUM .HX 00 002D: 12 01650 EOT .HX 12 002E: 01 01660 GPL .HX 01 002F: 00 01670 DTL .HX 00 ;$08 0030: 00 01680 STM .HX 00 0031: 00 00 00 01690 .HX 000000 ;$0C 0034: 00 01700 IDTAB .HX 00 ;CYL 0035: 00 01710 .HX 00 ;HEA 0036: 00 01720 .HX 00 ;REC 0037: 00 01730 FOTAB .HX 00 ;NUM 0038: 00 01740 .HX 00 ;EOT 0039: 00 01750 .HX 00 ;GPL 003A: 00 01760 .HX 00 ;DTL 003B: 00 00 01770 CHKROMZ .HX 0000 003D: 00 01780 RTIMIDZ .HX 00 01790 ------------------------------ 01800 ;Prozessorstapel (STACK) 01810 ------------------------------ 01820 .OR $0100 0100: 00 00 00 0103: 00 00 00 0106: 00 00 00 0109: 00 00 00 010C: 00 00 00 010F: 00 00 00 0112: 00 00 00 0115: 00 00 00 0118: 00 00 00 011B: 00 00 00 011E: 00 00 00 0121: 00 00 00 0124: 00 00 00 0127: 00 00 00 012A: 00 00 00 012D: 00 00 00 0130: 00 00 00 0133: 00 00 00 0136: 00 00 00 0139: 00 00 00 013C: 00 00 00 013F: 00 00 00 0142: 00 00 00 0145: 00 00 00 0148: 00 00 00 014B: 00 00 00 014E: 00 00 00 0151: 00 00 00 0154: 00 00 00 0157: 00 00 00 015A: 00 00 00 015D: 00 00 00 0160: 00 00 00 0163: 00 00 00 0166: 00 00 00 0169: 00 00 00 016C: 00 00 00 016F: 00 00 00 0172: 00 00 00 0175: 00 00 00 0178: 00 00 00 017B: 00 00 00 017E: 00 00 00 0181: 00 00 00 0184: 00 00 00 0187: 00 00 00 018A: 00 00 00 018D: 00 00 00 0190: 00 00 00 0193: 00 00 00 0196: 00 00 00 0199: 00 00 00 019C: 00 00 00 019F: 00 00 00 01A2: 00 00 00 01A5: 00 00 00 01A8: 00 00 00 01AB: 00 00 00 01AE: 00 00 00 01B1: 00 00 00 01B4: 00 00 00 01B7: 00 00 00 01BA: 00 00 00 01BD: 00 00 00 01C0: 00 00 00 01C3: 00 00 00 01C6: 00 00 00 01C9: 00 00 00 01CC: 00 00 00 01CF: 00 00 00 01D2: 00 00 00 01D5: 00 00 00 01D8: 00 00 00 01DB: 00 00 00 01DE: 00 00 00 01E1: 00 00 00 01E4: 00 00 00 01E7: 00 00 00 01EA: 00 00 00 01ED: 00 00 00 01F0: 00 00 00 01F3: 00 00 00 01F6: 00 00 00 01F9: 00 00 00 01FC: 00 00 00 01FF: 00 01830 STACK .BL $0100,$00 01840 ------------------------------ 01850 ;Tabellen 01860 ------------------------------ 01870 .OR $0200 0200: FF FF FF 0203: FF 01880 DRVTAB .HX FFFFFFFF 0204: FF FF FF 0207: FF 01890 ST0TAB .HX FFFFFFFF 0208: FF FF FF 020B: FF 01900 ST1TAB .HX FFFFFFFF 020C: FF FF FF 020F: FF 01910 ST2TAB .HX FFFFFFFF 0210: FF FF FF 0213: FF 01920 ST3TAB .HX FFFFFFFF 0214: FF FF FF 0217: FF 01930 PCNTAB .HX FFFFFFFF 01940 ------------------------------ 0218: 50 50 50 021B: 50 01950 PTRACK .HX 50505050 # Tracks 021C: 02 02 02 021F: 02 01960 PSTEPR .HX 02020202 Steprate 0220: 00 00 00 0223: 00 01970 PSEKHI .HX 00000000 # Sektors 0224: 12 12 12 0227: 12 01980 PSEKLO .HX 12121212 per Track 0228: 00 00 00 022B: 00 01990 PSIDE .HX 00000000 (00/01) 022C: 00 00 00 022F: 00 02000 PMF .HX 00000000 (00/04) 0230: 00 00 00 0233: 00 02010 PBYTHI .HX 00000000 00/1/2/3 0234: 80 80 80 0237: 80 02020 PBYTLO .HX 80808080 80/0/0/0 0238: FF FF FF 023B: FF 02030 PONLIN .HX FFFFFFFF 023C: 00 00 00 023F: 00 02040 .HX 00000000 unused 0240: 00 00 00 0243: 00 02050 .HX 00000000 unused 0244: 00 00 00 0247: 00 02060 .HX 00000000 unused 0248: 0A 0A 0A 024B: 0A 02070 PBAUD .HX 0A0A0A0A ser.Clock 024C: FF FF FF 024F: FF 02080 PHD .HX FFFFFFFF 2ND/0HD 0250: 00 00 00 0253: 00 02090 PMT .HX 00000000 MT=$80 0254: 00 00 00 0257: 00 02100 PMAXLO .HX 00000000 # Sektors 0258: 00 00 00 025B: 00 02110 PMAXHI .HX 00000000 per Disk 02120 ------------------------------ 025C: 00 00 00 025F: 00 02130 ST02EA .HX 00000000 ;->$02EA 0260: 00 00 00 0263: 00 02140 ST02EB .HX 00000000 ;->$02EB 0264: 00 00 00 0267: 00 02150 ST02EC .HX 00000000 ;->$02EC 0268: 00 00 00 026B: 00 02160 ST02ED .HX 00000000 ;->$02ED 02170 ------------------------------ 026C: 00 00 00 026F: 00 02180 HPYFLG .HX 00000000 0270: 00 00 00 0273: 00 02190 RDFLAG .HX 00000000 02200 ------------------------------ 0274: 00 00 00 0277: 00 00 00 027A: 00 00 00 027D: 00 00 00 0280: 00 00 00 0283: 00 00 00 0286: 00 00 00 0289: 00 00 00 028C: 00 00 00 028F: 00 00 00 0292: 00 00 00 0295: 00 00 00 02210 SKEW .BL $24,$00 0298: 00 02220 SKWSEC .HX 00 0299: 00 02230 SKEWPT .HX 00 029A: 00 02240 INTRLV .HX 00 02250 ------------------------------ 02260 .OR $0300 0300: 00 00 00 0303: 00 00 00 0306: 00 00 00 0309: 00 00 00 030C: 00 00 00 030F: 00 00 00 0312: 00 00 00 0315: 00 00 00 0318: 00 00 00 031B: 00 00 00 031E: 00 00 00 0321: 00 00 00 0324: 00 00 00 0327: 00 00 00 032A: 00 00 00 032D: 00 00 00 0330: 00 00 00 0333: 00 00 00 0336: 00 00 00 0339: 00 00 00 033C: 00 00 00 033F: 00 00 00 0342: 00 00 00 0345: 00 00 00 0348: 00 00 00 034B: 00 00 00 034E: 00 00 00 0351: 00 00 00 0354: 00 00 00 0357: 00 00 00 035A: 00 00 00 035D: 00 00 00 0360: 00 00 00 0363: 00 00 00 0366: 00 00 00 0369: 00 00 00 036C: 00 00 00 036F: 00 00 00 0372: 00 00 00 0375: 00 00 00 0378: 00 00 00 037B: 00 00 00 037E: 00 00 00 0381: 00 00 00 0384: 00 00 00 0387: 00 00 00 038A: 00 00 00 038D: 00 00 00 02270 SKWADR .BL $90,$00 02280 ------------------------------ 02290 ;Puffer 02300 ------------------------------ 02310 .OR $0400 0400: 00 00 00 0403: 00 00 00 0406: 00 00 00 0409: 00 00 00 040C: 00 00 00 040F: 00 00 00 0412: 00 00 00 0415: 00 00 00 0418: 00 00 00 041B: 00 00 00 041E: 00 00 00 0421: 00 00 00 0424: 00 00 00 0427: 00 00 00 042A: 00 00 00 042D: 00 00 00 0430: 00 00 00 0433: 00 00 00 0436: 00 00 00 0439: 00 00 00 043C: 00 00 00 043F: 00 00 00 0442: 00 00 00 0445: 00 00 00 0448: 00 00 00 044B: 00 00 00 044E: 00 00 00 0451: 00 00 00 0454: 00 00 00 0457: 00 00 00 045A: 00 00 00 045D: 00 00 00 0460: 00 00 00 0463: 00 00 00 0466: 00 00 00 0469: 00 00 00 046C: 00 00 00 046F: 00 00 00 0472: 00 00 00 0475: 00 00 00 0478: 00 00 00 047B: 00 00 00 047E: 00 00 00 0481: 00 00 00 0484: 00 00 00 0487: 00 00 00 048A: 00 00 00 048D: 00 00 00 0490: 00 00 00 0493: 00 00 00 0496: 00 00 00 0499: 00 00 00 049C: 00 00 00 049F: 00 00 00 04A2: 00 00 00 04A5: 00 00 00 04A8: 00 00 00 04AB: 00 00 00 04AE: 00 00 00 04B1: 00 00 00 04B4: 00 00 00 04B7: 00 00 00 04BA: 00 00 00 04BD: 00 00 00 04C0: 00 00 00 04C3: 00 00 00 04C6: 00 00 00 04C9: 00 00 00 04CC: 00 00 00 04CF: 00 00 00 04D2: 00 00 00 04D5: 00 00 00 04D8: 00 00 00 04DB: 00 00 00 04DE: 00 00 00 04E1: 00 00 00 04E4: 00 00 00 04E7: 00 00 00 04EA: 00 00 00 04ED: 00 00 00 04F0: 00 00 00 04F3: 00 00 00 04F6: 00 00 00 04F9: 00 00 00 04FC: 00 00 00 04FF: 00 00 00 0502: 00 00 00 0505: 00 00 00 0508: 00 00 00 050B: 00 00 00 050E: 00 00 00 0511: 00 00 00 0514: 00 00 00 0517: 00 00 00 051A: 00 00 00 051D: 00 00 00 0520: 00 00 00 0523: 00 00 00 0526: 00 00 00 0529: 00 00 00 052C: 00 00 00 052F: 00 00 00 0532: 00 00 00 0535: 00 00 00 0538: 00 00 00 053B: 00 00 00 053E: 00 00 00 0541: 00 00 00 0544: 00 00 00 0547: 00 00 00 054A: 00 00 00 054D: 00 00 00 0550: 00 00 00 0553: 00 00 00 0556: 00 00 00 0559: 00 00 00 055C: 00 00 00 055F: 00 00 00 0562: 00 00 00 0565: 00 00 00 0568: 00 00 00 056B: 00 00 00 056E: 00 00 00 0571: 00 00 00 0574: 00 00 00 0577: 00 00 00 057A: 00 00 00 057D: 00 00 00 0580: 00 00 00 0583: 00 00 00 0586: 00 00 00 0589: 00 00 00 058C: 00 00 00 058F: 00 00 00 0592: 00 00 00 0595: 00 00 00 0598: 00 00 00 059B: 00 00 00 059E: 00 00 00 05A1: 00 00 00 05A4: 00 00 00 05A7: 00 00 00 05AA: 00 00 00 05AD: 00 00 00 05B0: 00 00 00 05B3: 00 00 00 05B6: 00 00 00 05B9: 00 00 00 05BC: 00 00 00 05BF: 00 00 00 05C2: 00 00 00 05C5: 00 00 00 05C8: 00 00 00 05CB: 00 00 00 05CE: 00 00 00 05D1: 00 00 00 05D4: 00 00 00 05D7: 00 00 00 05DA: 00 00 00 05DD: 00 00 00 05E0: 00 00 00 05E3: 00 00 00 05E6: 00 00 00 05E9: 00 00 00 05EC: 00 00 00 05EF: 00 00 00 05F2: 00 00 00 05F5: 00 00 00 05F8: 00 00 00 05FB: 00 00 00 05FE: 00 00 02320 BOOTBF .BL $0200,$00 02330 ------------------------------ 0600: 00 00 00 0603: 00 00 00 0606: 00 00 00 0609: 00 00 00 060C: 00 00 00 060F: 00 00 00 0612: 00 00 00 0615: 00 00 00 0618: 00 00 00 061B: 00 00 00 061E: 00 00 00 0621: 00 00 00 0624: 00 00 00 0627: 00 00 00 062A: 00 00 00 062D: 00 00 00 0630: 00 00 00 0633: 00 00 00 0636: 00 00 00 0639: 00 00 00 063C: 00 00 00 063F: 00 00 00 0642: 00 00 00 0645: 00 00 00 0648: 00 00 00 064B: 00 00 00 064E: 00 00 00 0651: 00 00 00 0654: 00 00 00 0657: 00 00 00 065A: 00 00 00 065D: 00 00 00 0660: 00 00 00 0663: 00 00 00 0666: 00 00 00 0669: 00 00 00 066C: 00 00 00 066F: 00 00 00 0672: 00 00 00 0675: 00 00 00 0678: 00 00 00 067B: 00 00 00 067E: 00 00 00 0681: 00 00 00 0684: 00 00 00 0687: 00 00 00 068A: 00 00 00 068D: 00 00 00 0690: 00 00 00 0693: 00 00 00 0696: 00 00 00 0699: 00 00 00 069C: 00 00 00 069F: 00 00 00 06A2: 00 00 00 06A5: 00 00 00 06A8: 00 00 00 06AB: 00 00 00 06AE: 00 00 00 06B1: 00 00 00 06B4: 00 00 00 06B7: 00 00 00 06BA: 00 00 00 06BD: 00 00 00 06C0: 00 00 00 06C3: 00 00 00 06C6: 00 00 00 06C9: 00 00 00 06CC: 00 00 00 06CF: 00 00 00 06D2: 00 00 00 06D5: 00 00 00 06D8: 00 00 00 06DB: 00 00 00 06DE: 00 00 00 06E1: 00 00 00 06E4: 00 00 00 06E7: 00 00 00 06EA: 00 00 00 06ED: 00 00 00 06F0: 00 00 00 06F3: 00 00 00 06F6: 00 00 00 06F9: 00 00 00 06FC: 00 00 00 06FF: 00 02340 SIOBUF .BL $0100,$00 0700: 00 00 00 0703: 00 00 00 0706: 00 00 00 0709: 00 00 00 070C: 00 00 00 070F: 00 00 00 0712: 00 00 00 0715: 00 00 00 0718: 00 00 00 071B: 00 00 00 071E: 00 00 00 0721: 00 00 00 0724: 00 00 00 0727: 00 00 00 072A: 00 00 00 072D: 00 00 00 0730: 00 00 00 0733: 00 00 00 0736: 00 00 00 0739: 00 00 00 073C: 00 00 00 073F: 00 00 00 0742: 00 00 00 0745: 00 00 00 0748: 00 00 00 074B: 00 00 00 074E: 00 00 00 0751: 00 00 00 0754: 00 00 00 0757: 00 00 00 075A: 00 00 00 075D: 00 00 00 0760: 00 00 00 0763: 00 00 00 0766: 00 00 00 0769: 00 00 00 076C: 00 00 00 076F: 00 00 00 0772: 00 00 00 0775: 00 00 00 0778: 00 00 00 077B: 00 00 00 077E: 00 00 00 0781: 00 00 00 0784: 00 00 00 0787: 00 00 00 078A: 00 00 00 078D: 00 00 00 0790: 00 00 00 0793: 00 00 00 0796: 00 00 00 0799: 00 00 00 079C: 00 00 00 079F: 00 00 00 07A2: 00 00 00 07A5: 00 00 00 07A8: 00 00 00 07AB: 00 00 00 07AE: 00 00 00 07B1: 00 00 00 07B4: 00 00 00 07B7: 00 00 00 07BA: 00 00 00 07BD: 00 00 00 07C0: 00 00 00 07C3: 00 00 00 07C6: 00 00 00 07C9: 00 00 00 07CC: 00 00 00 07CF: 00 00 00 07D2: 00 00 00 07D5: 00 00 00 07D8: 00 00 00 07DB: 00 00 00 07DE: 00 00 00 07E1: 00 00 00 07E4: 00 00 00 07E7: 00 00 00 07EA: 00 00 00 07ED: 00 00 00 07F0: 00 00 00 07F3: 00 00 00 07F6: 00 00 00 07F9: 00 00 00 07FC: 00 00 00 07FF: 00 02350 SECBUF .BL $0100,$00 02360 ------------------------------ 00020 .OR $C000 00030 .OF "D:TEAC.ROM 00040 * C000: FF FF 00050 CHKROM .HX FFFF C002: 45 50 20 C005: 48 44 49 C008: 20 56 65 C00B: 72 73 69 C00E: 6F 6E 20 C011: 32 2E 38 00060 .AS "EP HDI Version 2.8" 00070 * C014: A9 02 00080 ROMTST LDA #$02 C016: 85 00 00090 STA BUFADR C018: A9 C0 00100 LDA #$C0 C01A: 85 01 00110 STA BUFADR+1 C01C: A9 FF 00120 LDA #$FF C01E: 85 04 00130 STA BUFEND C020: 85 05 00140 STA BUFEND+1 C022: 64 3B 00150 STZ CHKROMZ C024: 64 3C 00160 STZ CHKROMZ+1 C026: B2 00 00170 .01 LDA (BUFADR) C028: 18 00180 CLC C029: 65 3B 00190 ADC CHKROMZ C02B: 85 3B 00200 STA CHKROMZ C02D: 90 02 00210 BCC .02 C02F: E6 3C 00220 INC CHKROMZ+1 C031: 20 59 C1 00230 .02 JSR BUFINC C034: 90 F0 00240 BCC .01 C036: AD 00 C0 00250 LDA CHKROM C039: 2D 01 C0 00260 AND CHKROM+1 C03C: C9 FF 00270 CMP #$FF C03E: F0 0E 00280 BEQ .99 C040: A5 3B 00290 LDA CHKROMZ C042: CD 00 C0 00300 CMP CHKROM C045: D0 FE 00310 .03 BNE .03 C047: A5 3C 00320 LDA CHKROMZ+1 C049: CD 01 C0 00330 CMP CHKROM+1 C04C: D0 FE 00340 .04 BNE .04 C04E: 60 00350 .99 RTS 00360 ------------------------------ C04F: 38 00370 SETX SEC C050: A5 05 00380 LDA BUFEND+1 C052: E5 01 00390 SBC BUFADR+1 C054: AA 00400 TAX C055: 60 00410 RTS 00420 ------------------------------ C056: A0 00 00430 RAMSET LDY #$00 C058: 20 4F C0 00440 JSR SETX C05B: A5 01 00450 .01 LDA BUFADR+1 C05D: 91 00 00460 .02 STA (BUFADR),Y C05F: C8 00470 INY C060: D0 FB 00480 BNE .02 C062: E6 01 00490 INC BUFADR+1 C064: CA 00500 DEX C065: D0 F4 00510 BNE .01 C067: 60 00520 RTS 00530 * C068: A0 00 00540 RAMCHK LDY #$00 C06A: 20 4F C0 00550 JSR SETX C06D: A5 01 00560 .01 LDA BUFADR+1 C06F: 51 00 00570 EOR (BUFADR),Y C071: D0 FE 00580 .02 BNE .02 C073: 91 00 00590 STA (BUFADR),Y C075: C8 00600 INY C076: D0 F5 00610 BNE .01 C078: E6 01 00620 INC BUFADR+1 C07A: CA 00630 DEX C07B: D0 F0 00640 BNE .01 C07D: 60 00650 RTS 00660 * C07E: 64 00 00670 RAMTST STZ BUFADR C080: A9 02 00680 LDA #$02 C082: 85 01 00690 STA BUFADR+1 C084: A9 40 00700 LDA #$40 C086: 85 05 00710 STA BUFEND+1 C088: 20 56 C0 00720 JSR RAMSET C08B: A9 80 00730 LDA #$80 C08D: 85 01 00740 STA BUFADR+1 C08F: A9 C0 00750 LDA #$C0 C091: 85 05 00760 STA BUFEND+1 C093: 20 56 C0 00770 JSR RAMSET C096: A9 02 00780 LDA #$02 C098: 85 01 00790 STA BUFADR+1 C09A: A9 40 00800 LDA #$40 C09C: 85 05 00810 STA BUFEND+1 C09E: 20 68 C0 00820 JSR RAMCHK C0A1: A9 80 00830 LDA #$80 C0A3: 85 01 00840 STA BUFADR+1 C0A5: A9 C0 00850 LDA #$C0 C0A7: 85 05 00860 STA BUFEND+1 C0A9: 4C 68 C0 00870 JMP RAMCHK 00880 ------------------------------ C0AC: A2 5F 00890 MOVTAB LDX #$5F C0AE: BD EB C8 00900 .01 LDA CMDTAB,X C0B1: 9D 00 40 00910 STA RRAM,X C0B4: CA 00920 DEX C0B5: 10 F7 00930 BPL .01 C0B7: 60 00940 RTS 00950 ------------------------------ C0B8: 38 00960 CALC SEC C0B9: A5 1F 00970 LDA DAUX1 C0BB: E9 01 00980 SBC #$01 C0BD: 85 06 00990 STA DIV C0BF: A5 20 01000 LDA DAUX2 C0C1: E9 00 01010 SBC #$00 C0C3: 85 07 01020 STA DIV+1 C0C5: B9 24 02 01030 LDA PSEKLO,Y ;# SecLO C0C8: 85 08 01040 STA DOR C0CA: A2 00 01050 LDX #$00 C0CC: 86 0A 01060 STX ZSP C0CE: 86 0B 01070 STX ZSP+1 C0D0: 86 09 01080 STX DOR+1 C0D2: 24 09 01090 SHIFT BIT DOR+1 C0D4: 30 07 01100 BMI SCHLEIF C0D6: 06 08 01110 ASL DOR C0D8: 26 09 01120 ROL DOR+1 C0DA: E8 01130 INX C0DB: D0 F5 01140 BNE SHIFT C0DD: 38 01150 SCHLEIF SEC C0DE: A5 06 01160 LDA DIV C0E0: E5 08 01170 SBC DOR C0E2: 85 0A 01180 STA ZSP C0E4: A5 07 01190 LDA DIV+1 C0E6: E5 09 01200 SBC DOR+1 C0E8: 85 0B 01210 STA ZSP+1 C0EA: 08 01220 PHP C0EB: 26 29 01230 ROL CYL C0ED: 28 01240 PLP C0EE: 90 08 01250 BCC NEG C0F0: A5 0A 01260 LDA ZSP C0F2: 85 06 01270 STA DIV C0F4: A5 0B 01280 LDA ZSP+1 C0F6: 85 07 01290 STA DIV+1 C0F8: 46 09 01300 NEG LSR DOR+1 C0FA: 66 08 01310 ROR DOR C0FC: CA 01320 DEX C0FD: 10 DE 01330 BPL SCHLEIF C0FF: A6 06 01340 LDX DIV C101: E8 01350 INX C102: 86 2B 01360 STX REC C104: A2 00 01370 LDX #$00 ;HEA C106: B9 50 02 01380 LDA PMT,Y ;MT ? C109: 10 08 01390 BPL .01 ;Nein -> C10B: A5 29 01400 LDA CYL C10D: 4A 01410 LSR C10E: 85 29 01420 STA CYL C110: 90 01 01430 BCC .01 C112: E8 01440 INX ;HEA=1 C113: A5 29 01450 .01 LDA CYL C115: D9 18 02 01460 CMP PTRACK,Y C118: 90 06 01470 BCC NSIDE1 C11A: F9 18 02 01480 SBC PTRACK,Y C11D: 85 29 01490 STA CYL C11F: E8 01500 INX ;HEA=1 C120: 86 2A 01510 NSIDE1 STX HEA C122: 60 01520 RTS 01530 ------------------------------ C123: 00 01 02 C126: 04 08 10 C129: 20 01540 LENTAB .HX 00010204081020 01550 ; C12A: B9 34 02 01560 SECBFL LDA PBYTLO,Y C12D: 85 02 01570 STA BUFLEN C12F: B9 30 02 01580 LDA PBYTHI,Y C132: AA 01590 TAX C133: BD 23 C1 01600 LDA LENTAB,X C136: 85 03 01610 STA BUFLEN+1 01620 ; C138: A9 07 01630 SSECBF LDA /SECBUF C13A: 85 01 01640 STA BUFADR+1 C13C: A9 00 01650 LDA #SECBUF C13E: 85 00 01660 STA BUFADR C140: 18 01670 SBFEND CLC C141: A5 00 01680 LDA BUFADR C143: 65 02 01690 ADC BUFLEN C145: 85 04 01700 STA BUFEND C147: A5 01 01710 LDA BUFADR+1 C149: 65 03 01720 ADC BUFLEN+1 C14B: 85 05 01730 STA BUFEND+1 C14D: 60 01740 RTS 01750 ------------------------------ C14E: A9 06 01760 SSIOBF LDA /SIOBUF C150: 85 01 01770 STA BUFADR+1 C152: A9 00 01780 LDA #SIOBUF C154: 85 00 01790 STA BUFADR C156: 4C 40 C1 01800 JMP SBFEND 01810 ------------------------------ C159: E6 00 01820 BUFINC INC BUFADR C=1 if C15B: D0 02 01830 BNE .01 end of C15D: E6 01 01840 INC BUFADR+1 Buffer C15F: A5 01 01850 .01 LDA BUFADR+1 C161: C5 05 01860 CMP BUFEND+1 C163: 90 04 01870 BCC .02 C165: A5 00 01880 LDA BUFADR C167: C5 04 01890 CMP BUFEND C169: 60 01900 .02 RTS 01910 ------------------------------ C16A: 2C 00 42 01920 PBYTE BIT FDCST C16D: 10 FB 01930 BPL PBYTE C16F: 8D 01 42 01940 STA FDCDAT C172: 60 01950 RTS 01960 ------------------------------ C173: 2C 00 42 01970 GBYTE BIT FDCST C176: 10 FB 01980 BPL GBYTE C178: AD 01 42 01990 LDA FDCDAT C17B: 60 02000 RTS 02010 ------------------------------ C17C: 48 02020 RESULTS PHA C17D: A9 02 02030 LDA #$02 ;Terminal C17F: 0C 80 40 02040 TSB PORTA ;Count Set C182: 1C 80 40 02050 TRB PORTA ;Cleared C185: DA 02060 PHX C186: A4 28 02070 LDY ACTDRV Get 7 C188: 20 73 C1 02080 JSR GBYTE Result C18B: 99 04 02 02090 STA ST0TAB,Y Bytes C18E: 20 73 C1 02100 JSR GBYTE from FDC C191: 99 08 02 02110 STA ST1TAB,Y C194: 20 73 C1 02120 JSR GBYTE C197: 99 0C 02 02130 STA ST2TAB,Y C19A: A2 00 02140 LDX #$00 C19C: 20 73 C1 02150 .01 JSR GBYTE C19F: 95 29 02160 STA CYL,X C1A1: E8 02170 INX C1A2: E0 04 02180 CPX #$04 C1A4: D0 F6 02190 BNE .01 02200 * C1A6: B9 04 02 02210 LDA ST0TAB,Y C=1 bei C1A9: 0A 02220 ASL Error C1AA: 19 04 02 02230 ORA ST0TAB,Y C1AD: 0A 02240 ASL C1AE: FA 02250 PLX C1AF: 68 02260 PLA C1B0: 60 02270 RTS 02280 ------------------------------ C1B1: DA 02290 SPEC PHX C1B2: A2 02 02300 LDX #$02 ;verm. ND C1B4: B9 24 02 02310 LDA PSEKLO,Y ;Bei mehr C1B7: C9 13 02320 CMP #19 ;als 18 C1B9: 90 02 02330 BCC .01 ;Sektoren C1BB: A2 00 02340 LDX #0 ;=HD C1BD: 8A 02350 .01 TXA C1BE: 8D 00 44 02360 STA CR C1C1: 99 4C 02 02370 STA PHD,Y C1C4: A9 03 02380 LDA #$03 ;CMD C1C6: 20 6A C1 02390 JSR PBYTE C1C9: B9 1C 02 02400 LDA PSTEPR,Y ;Stepr. C1CC: 29 0F 02410 AND #$0F C1CE: F0 01 02420 BEQ .02 C1D0: 3A 02430 DEA C1D1: 49 0F 02440 .02 EOR #$0F C1D3: 0A 02450 ASL C1D4: 0A 02460 ASL C1D5: 0A 02470 ASL C1D6: 0A 02480 ASL C1D7: 10 05 02490 BPL .03 C1D9: E0 00 02500 CPX #$00 Bei HD C1DB: D0 01 02510 BNE .03 SRT x 2 C1DD: 0A 02520 ASL C1DE: 09 0F 02530 .03 ORA #$0F ;SRT/HUT C1E0: 20 6A C1 02540 JSR PBYTE C1E3: A9 1F 02550 LDA #$1F ;HLT C1E5: 0A 02560 ASL C1E6: E0 00 02570 CPX #$00 C1E8: D0 01 02580 BNE .04 C1EA: 0A 02590 ASL C1EB: 09 01 02600 .04 ORA #$01 No DMA C1ED: 20 6A C1 02610 JSR PBYTE C1F0: FA 02620 PLX C1F1: 60 02630 RTS 02640 ------------------------------ C1F2: 48 02650 DSTAT PHA C1F3: A9 04 02660 LDA #$04 ;CMD C1F5: 20 6A C1 02670 JSR PBYTE C1F8: 98 02680 TYA ;D# C1F9: 20 6A C1 02690 JSR PBYTE C1FC: 2C 00 42 02700 .01 BIT FDCST C1FF: 10 FB 02710 BPL .01 C201: AD 80 40 02720 LDA PORTA ;DChange C204: 29 80 02730 AND #$80 C206: 0D 01 42 02740 ORA FDCDAT C209: 99 10 02 02750 STA ST3TAB,Y C20C: 68 02760 PLA C20D: 60 02770 RTS 02780 ------------------------------ C20E: 48 02790 ISTAT PHA C20F: DA 02800 PHX C210: AD 00 42 02810 .04 LDA FDCST ;FDC RQM C213: 10 FB 02820 BPL .04 C215: 29 70 02830 AND #$70 C217: D0 F7 02840 BNE .04 C219: AD 00 42 02850 LDA FDCST C21C: 29 0F 02860 AND #$0F ;Busy ? C21E: F0 07 02870 BEQ .03 ;Nein -> C220: A9 08 02880 LDA #$08 ;W IRQ C222: 2C 82 40 02890 .01 BIT PORTB C225: F0 FB 02900 BEQ .01 C227: A9 08 02910 .03 LDA #$08 ;CMD C229: 20 6A C1 02920 JSR PBYTE C22C: 20 73 C1 02930 JSR GBYTE C22F: C9 80 02940 CMP #$80 C231: F0 0E 02950 BEQ .02 C233: 48 02960 PHA C234: 29 03 02970 AND #$03 C236: AA 02980 TAX C237: 68 02990 PLA C238: 9D 04 02 03000 STA ST0TAB,X C23B: 20 73 C1 03010 JSR GBYTE C23E: 9D 14 02 03020 STA PCNTAB,X C241: FA 03030 .02 PLX C242: 68 03040 PLA C243: 60 03050 RTS 03060 ------------------------------ C244: A9 07 03070 TR00 LDA #$07 ;CMD C246: 20 6A C1 03080 JSR PBYTE C249: 98 03090 TYA ;D# C24A: 20 6A C1 03100 JSR PBYTE C24D: 20 0E C2 03110 JSR ISTAT C250: 4C F2 C1 03120 JMP DSTAT 03130 ------------------------------ C253: A9 01 03140 STEPIN LDA #$01 C255: D0 02 03150 BNE SEEK1 C257: A9 FF 03160 STEPOUT LDA #$FF C259: 18 03170 SEEK1 CLC C25A: 79 14 02 03180 ADC PCNTAB,Y C25D: D9 18 02 03190 SEEK CMP PTRACK,Y C260: B0 15 03200 BCS SEEKX C262: 48 03210 PHA C263: A9 0F 03220 LDA #$0F ;CMD C265: 20 6A C1 03230 JSR PBYTE C268: 98 03240 TYA C269: 20 6A C1 03250 JSR PBYTE ;D# C26C: 68 03260 PLA C26D: 20 6A C1 03270 JSR PBYTE ;NCN C270: 20 0E C2 03280 JSR ISTAT C273: 20 F2 C1 03290 JSR DSTAT C276: 18 03300 CLC C277: 60 03310 SEEKX RTS 03320 ------------------------------ C278: 48 03330 XMTCMD PHA ;CMD C279: DA 03340 PHX C27A: 08 03350 PHP C27B: B9 2C 02 03360 LDA PMF,Y C27E: 0A 03370 ASL C27F: 0A 03380 ASL C280: 0A 03390 ASL C281: 0A 03400 ASL C282: 29 40 03410 AND #$40 C284: BA 03420 TSX C285: 1D 03 01 03430 ORA $0103,X C288: 20 6A C1 03440 JSR PBYTE C28B: A5 2A 03450 LDA HEA C28D: 0A 03460 ASL C28E: 0A 03470 ASL C28F: 05 28 03480 ORA ACTDRV C291: 20 6A C1 03490 JSR PBYTE C294: 28 03500 PLP C295: 90 0C 03510 BCC .02 C297: A2 00 03520 LDX #$00 C299: B5 29 03530 .01 LDA CYL,X C29B: 20 6A C1 03540 JSR PBYTE C29E: E8 03550 INX C29F: E0 07 03560 CPX #$07 C2A1: D0 F6 03570 BNE .01 C2A3: FA 03580 .02 PLX C2A4: 68 03590 PLA C2A5: 60 03600 RTS 03610 ------------------------------ C2A6: D8 03620 RESET CLD C2A7: A2 FF 03630 LDX #$FF Ca. 130ms C2A9: 9A 03640 TXS Verz|ge- C2AA: A0 FF 03650 LDY #$FF rung zum C2AC: 88 03660 .01 DEY Einschwin- C2AD: D0 FD 03670 BNE .01 gen der C2AF: CA 03680 DEX Betriebs- C2B0: D0 FA 03690 BNE .01 spannung. 03700 * C2B2: 8E 81 40 03710 STX PACTL Eing{nge C2B5: 8E 83 40 03720 STX PBCTL 03730 * C2B8: 86 00 03740 STX $00 65C02 CPU? C2BA: 87 00 03750 .HX 8700 SB0 $00 C2BC: A5 00 03760 LDA $00 C2BE: F0 FE 03770 .02 BEQ .02 Nein -> 03780 * C2C0: 8A 03790 .03 TXA Ramtest C2C1: 95 00 03800 STA $00,X Seiten C2C3: 49 FF 03810 EOR #$FF C2C5: 9D 00 01 03820 STA $0100,X 0 und 1 C2C8: E8 03830 INX C2C9: D0 F5 03840 BNE .03 C2CB: 8A 03850 .31 TXA C2CC: D5 00 03860 CMP $00,X C2CE: D0 FE 03870 .32 BNE .32 C2D0: 49 FF 03880 EOR #$FF C2D2: DD 00 01 03890 CMP $0100,X C2D5: D0 FE 03900 .33 BNE .33 C2D7: E8 03910 INX C2D8: D0 F1 03920 BNE .31 03930 * C2DA: A9 FD 03940 LDA #$FD Motor an C2DC: 8D 80 40 03950 STA PORTA TC zurueck- C2DF: A9 5B 03960 LDA #$5B setzen C2E1: 8D 81 40 03970 STA PACTL 03980 * C2E4: A9 FC 03990 LDA #$FC /Reset fuer C2E6: 8D 82 40 04000 STA PORTB FDC und C2E9: A9 37 04010 LDA #$37 SIO C2EB: 8D 83 40 04020 STA PBCTL 04030 * C2EE: 20 14 C0 04040 JSR ROMTST C2F1: 20 7E C0 04050 JSR RAMTST C2F4: 20 AC C0 04060 JSR MOVTAB 04070 * C2F7: A9 FF 04080 LDA #$FF C2F9: 8D 97 40 04090 STA T1024D 65ms Pause C2FC: 2C 85 40 04100 .13 BIT IFLG nach Reset C2FF: 10 FB 04110 BPL .13 04120 * C301: A9 4D 04130 LDA #$4D SIO:8/N/1 C303: 8D 01 41 04140 STA SIOCMD asynchron C306: A9 37 04150 LDA #$37 C308: 8D 01 41 04160 STA SIOCMD 04170 * C30B: AD 00 42 04180 LDA FDCST FDC: Base C30E: A9 08 04190 LDA #$08 Warte auf C310: 2C 82 40 04200 .14 BIT PORTB FDC IRQ C313: F0 FB 04210 BEQ .14 nach Reset 04220 * C315: A2 02 04230 LDX #$02 ND C317: 8E 00 44 04240 STX CR 04250 * C31A: A0 03 04260 LDY #$03 Ein Reset C31C: 20 0E C2 04270 .15 JSR ISTAT bedingt C31F: 88 04280 DEY den Nicht- C320: 10 FA 04290 BPL .15 RDY-Status 04300 * aller FDD 04310 * u. erzeugt 04320 * einen IRQ 04330 * C322: A9 03 04340 LDA #$03 2ms SRT C324: 20 6A C1 04350 JSR PBYTE C327: A9 EF 04360 LDA #$EF C329: 20 6A C1 04370 JSR PBYTE C32C: 20 6A C1 04380 JSR PBYTE 04390 * C32F: A0 03 04400 LDY #$03 Alle Lauf- C331: A9 07 04410 .16 LDA #$07 werke nach C333: 20 6A C1 04420 JSR PBYTE Track 0 C336: 98 04430 TYA C337: 20 6A C1 04440 JSR PBYTE C33A: 88 04450 DEY C33B: 10 F4 04460 BPL .16 04470 * C33D: 20 0E C2 04480 .17 JSR ISTAT Es sind C340: AD 00 42 04490 LDA FDCST noch nicht C343: 29 0F 04500 AND #$0F alle C345: D0 F6 04510 BNE .17 fertig -> 04520 * C347: A9 31 04530 LDA #$31 Vorhandene C349: 48 04540 PHA Floppies C34A: A0 00 04550 LDY #$00 eintragen C34C: 84 28 04560 .18 STY ACTDRV und konfi- C34E: A9 28 04570 LDA #40 gurieren C350: 99 18 02 04580 STA PTRACK,Y C353: A9 02 04590 LDA #$02 C355: 99 1C 02 04600 STA PSTEPR,Y C358: 99 4C 02 04610 STA PHD,Y C35B: A9 00 04620 LDA #$00 C35D: 99 20 02 04630 STA PSEKHI,Y C360: 99 28 02 04640 STA PSIDE,Y C363: 99 2C 02 04650 STA PMF,Y C366: 99 30 02 04660 STA PBYTHI,Y C369: 99 50 02 04670 STA PMT,Y C36C: 99 00 02 04680 STA DRVTAB,Y C36F: 99 6C 02 04690 STA HPYFLG,Y C372: A9 12 04700 LDA #$12 C374: 99 24 02 04710 STA PSEKLO,Y C377: A9 80 04720 LDA #$80 C379: 99 34 02 04730 STA PBYTLO,Y C37C: A9 FF 04740 LDA #$FF C37E: 99 38 02 04750 STA PONLIN,Y C381: A9 0A 04760 LDA #$0A C383: 99 48 02 04770 STA PBAUD,Y C386: A9 D0 04780 LDA #$D0 Max # of C388: 99 54 02 04790 STA PMAXLO,Y Sectors C38B: A9 02 04800 LDA #$02 C38D: 99 58 02 04810 STA PMAXHI,Y C390: 20 F2 C1 04820 JSR DSTAT C393: B9 04 02 04830 LDA ST0TAB,Y ;Fehler= C396: 29 D0 04840 AND #$D0 ;keine C398: D0 09 04850 BNE .19 ;Floppy C39A: 68 04860 PLA C39B: 99 00 02 04870 STA DRVTAB,Y C39E: 1A 04880 INA C39F: 48 04890 PHA C3A0: 20 B9 C3 04900 JSR CFGDRV C3A3: C8 04910 .19 INY C3A4: C0 04 04920 CPY #$04 C3A6: 90 A4 04930 BCC .18 C3A8: 68 04940 PLA C3A9: A9 08 04950 LDA #$08 Motor aus C3AB: 1C 80 40 04960 TRB PORTA C3AE: A9 25 04970 LDA #$25 19200 Bd C3B0: 85 23 04980 STA BAUD Sendetakt C3B2: A9 FA 04990 LDA #$FA 3 Sekunden C3B4: 85 24 05000 STA OFFDEL Nachlauf C3B6: 4C 17 C8 05010 JMP WAITCMD 05020 ------------------------------ C3B9: 20 C7 C6 05030 CFGDRV JSR IFDISK C3BC: 30 01 05040 BMI .00 ;Ja -> C3BE: 60 05050 RTS C3BF: 20 F6 C7 05060 .00 JSR MOTON C3C2: A9 50 05070 LDA #$50 C3C4: 99 18 02 05080 STA PTRACK,Y C3C7: A9 02 05090 LDA #$02 ;SD/DD C3C9: 8D 00 44 05100 STA CR C3CC: 99 4C 02 05110 STA PHD,Y C3CF: A9 00 05120 LDA #$00 ;FM C3D1: 99 2C 02 05130 STA PMF,Y C3D4: 85 2A 05140 STA HEA C3D6: 20 E2 C4 05150 JSR READID C3D9: 90 3A 05160 BCC .01 C3DB: A9 04 05170 LDA #$04 ;MFM C3DD: 99 2C 02 05180 STA PMF,Y C3E0: A9 00 05190 LDA #$00 C3E2: 85 2A 05200 STA HEA C3E4: 20 E2 C4 05210 JSR READID C3E7: 90 2C 05220 BCC .01 C3E9: A9 00 05230 LDA #$00 ;HD/MFM C3EB: 8D 00 44 05240 STA CR C3EE: 99 4C 02 05250 STA PHD,Y C3F1: 85 2A 05260 STA HEA C3F3: 20 E2 C4 05270 JSR READID C3F6: 90 1D 05280 BCC .01 C3F8: A9 00 05290 LDA #$00 ;HD/FM C3FA: 99 2C 02 05300 STA PMF,Y C3FD: 85 2A 05310 STA HEA C3FF: 20 E2 C4 05320 JSR READID C402: 90 11 05330 BCC .01 C404: A9 02 05340 LDA #$02 ;Default C406: 99 4C 02 05350 STA PHD,Y ;ND/FM C409: A9 00 05360 LDA #$00 ;80 Byte C40B: 99 30 02 05370 STA PBYTHI,Y C40E: A9 80 05380 LDA #$80 C410: 99 34 02 05390 STA PBYTLO,Y C413: D0 5B 05400 BNE LASTSEC C415: B9 60 02 05410 .01 LDA ST02EB,Y C418: 09 40 05420 ORA #$40 C41A: 99 60 02 05430 STA ST02EB,Y C41D: A5 2C 05440 LDA NUM ;Setze C41F: 99 30 02 05450 STA PBYTHI,Y ;Disk- C422: A9 00 05460 LDA #$00 ;Sektor- C424: C5 2C 05470 CMP NUM ;L{nge. C426: 6A 05480 ROR C427: 99 34 02 05490 STA PBYTLO,Y C42A: 20 EE C4 05500 JSR NUMSEC C42D: 20 AE C4 05510 JSR SE01BF C430: B9 60 02 05520 LDA ST02EB,Y read sec. C433: 09 40 05530 ORA #$40 forces C435: 99 60 02 05540 STA ST02EB,Y unprot. C438: 20 43 CB 05550 JSR SRDST C43B: A9 01 05560 LDA #$01 Seite 1? C43D: 85 2A 05570 STA HEA C43F: 20 E2 C4 05580 JSR READID C442: B0 04 05590 BCS .03 C444: C5 2A 05600 CMP HEA C446: F0 02 05610 BEQ .10 C448: A9 00 05620 .03 LDA #$00 C44A: 99 28 02 05630 .10 STA PSIDE,Y C44D: A9 00 05640 LDA #$00 C44F: 85 2A 05650 STA HEA C451: 20 B1 C1 05660 JSR SPEC C454: A9 28 05670 LDA #40 C456: 20 5D C2 05680 JSR SEEK C459: 20 E2 C4 05690 JSR READID C45C: B0 0C 05700 BCS .04 C45E: A9 4D 05710 LDA #77 C460: 20 5D C2 05720 JSR SEEK C463: 20 E2 C4 05730 JSR READID C466: B0 02 05740 BCS .04 C468: A9 50 05750 LDA #80 C46A: 99 18 02 05760 .04 STA PTRACK,Y C46D: 20 44 C2 05770 .05 JSR TR00 C470: B9 18 02 05780 LASTSEC LDA PTRACK,Y ;T*H*S= C473: 85 06 05790 STA DIV ;max Sec C475: BE 28 02 05800 LDX PSIDE,Y C478: B9 24 02 05810 LDA PSEKLO,Y C47B: CA 05820 DEX C47C: 30 01 05830 BMI .06 C47E: 0A 05840 ASL C47F: 85 08 05850 .06 STA DOR C481: A9 00 05860 LDA #$00 C483: 99 54 02 05870 STA PMAXLO,Y C486: 99 58 02 05880 STA PMAXHI,Y C489: 85 09 05890 STA DOR+1 C48B: A5 06 05900 .07 LDA DIV C48D: D0 01 05910 BNE .08 C48F: 60 05920 RTS C490: 29 01 05930 .08 AND #$01 C492: F0 11 05940 BEQ .09 C494: 18 05950 CLC C495: B9 54 02 05960 LDA PMAXLO,Y C498: 65 08 05970 ADC DOR C49A: 99 54 02 05980 STA PMAXLO,Y C49D: B9 58 02 05990 LDA PMAXHI,Y C4A0: 65 09 06000 ADC DOR+1 C4A2: 99 58 02 06010 STA PMAXHI,Y C4A5: 46 06 06020 .09 LSR DIV C4A7: 06 08 06030 ASL DOR C4A9: 26 09 06040 ROL DOR+1 C4AB: 4C 8B C4 06050 JMP .07 06060 ------------------------------ C4AE: A5 1F 06070 SE01BF LDA DAUX1 C4B0: 48 06080 PHA C4B1: A5 20 06090 LDA DAUX2 C4B3: 48 06100 PHA C4B4: A9 01 06110 LDA #1 C4B6: 85 1F 06120 STA DAUX1 C4B8: 64 20 06130 STZ DAUX2 C4BA: 20 3D C5 06140 JSR RSEC C4BD: 68 06150 PLA C4BE: 85 20 06160 STA DAUX2 C4C0: 68 06170 PLA C4C1: 85 1F 06180 STA DAUX1 C4C3: 20 D3 C4 06190 JSR SBTBF C4C6: A0 7F 06200 LDY #$7F C4C8: B9 00 07 06210 .01 LDA SECBUF,Y C4CB: 91 00 06220 STA (BUFADR),Y C4CD: 88 06230 DEY C4CE: 10 F8 06240 BPL .01 C4D0: A4 28 06250 LDY ACTDRV C4D2: 60 06260 RTS 06270 ------------------------------ C4D3: 98 06280 SBTBF TYA C4D4: 4A 06290 LSR C4D5: 48 06300 PHA C4D6: 6A 06310 ROR C4D7: 18 06320 CLC C4D8: 69 00 06330 ADC #BOOTBF C4DA: 85 00 06340 STA BUFADR C4DC: 68 06350 PLA C4DD: 69 04 06360 ADC /BOOTBF C4DF: 85 01 06370 STA BUFADR+1 C4E1: 60 06380 RTS 06390 ------------------------------ C4E2: 48 06400 READID PHA C4E3: A9 0A 06410 LDA #$0A ;CMD C4E5: 18 06420 CLC C4E6: 20 78 C2 06430 JSR XMTCMD C4E9: 20 7C C1 06440 JSR RESULTS C4EC: 68 06450 PLA C4ED: 60 06460 RTS 06470 ------------------------------ C4EE: A2 23 06480 NUMSEC LDX #$23 L|sche C4F0: 9E 74 02 06490 .00 STZ SKEW,X Tabelle C4F3: CA 06500 DEX C4F4: 10 FA 06510 BPL .00 06520 * Drive Sel. C4F6: 20 E2 C4 06530 JSR READID durch HUT C4F9: A9 04 06540 LDA #4 Warte auf C4FB: 2C 80 40 06550 .01 BIT PORTA IDX: C4FE: F0 FB 06560 BEQ .01 LO-HI C500: 2C 80 40 06570 .02 BIT PORTA HI-LO C503: D0 FB 06580 BNE .02 06590 * C505: A2 00 06600 LDX #0 C507: 20 E2 C4 06610 .03 JSR READID Starte das C50A: A5 2B 06620 LDA REC Lesen der C50C: CD 74 02 06630 CMP SKEW Header mit C50F: F0 08 06640 BEQ .04 d. fallen- C511: 9D 74 02 06650 STA SKEW,X den Flanke C514: E8 06660 INX des Index- C515: E0 24 06670 CPX #$24 impulses. C517: 90 EE 06680 BCC .03 06690 * C519: 8A 06700 .04 TXA C51A: 99 24 02 06710 STA PSEKLO,Y C51D: A2 00 06720 LDX #0 C51F: 20 31 C5 06730 JSR Y40 C522: BD 74 02 06740 .05 LDA SKEW,X C525: 99 00 03 06750 STA SKWADR,Y C528: C8 06760 INY C529: E8 06770 INX C52A: E0 24 06780 CPX #$24 C52C: D0 F4 06790 BNE .05 C52E: A4 28 06800 LDY ACTDRV C530: 60 06810 RTS 06820 ------------------------------ C531: 98 06830 Y40 TYA Y=Y*40 C532: 0A 06840 ASL C533: 0A 06850 ASL C534: 0A 06860 ASL C535: 85 06 06870 STA DIV C537: 0A 06880 ASL C538: 0A 06890 ASL C539: 65 06 06900 ADC DIV C53B: A8 06910 TAY C53C: 60 06920 RTS 06930 ------------------------------ C53D: A4 28 06940 RSEC LDY ACTDRV C53F: 20 B8 C0 06950 JSR CALC C542: A5 29 06960 LDA CYL C544: 20 5D C2 06970 JSR SEEK C547: B9 34 02 06980 LDA PBYTLO,Y C54A: 85 2F 06990 STA DTL C54C: B9 30 02 07000 LDA PBYTHI,Y C54F: 85 2C 07010 STA NUM C551: B9 24 02 07020 LDA PSEKLO,Y C554: 85 2D 07030 STA EOT 07040 ; C556: 20 2A C1 07050 JSR SECBFL 07060 ; C559: A9 06 07070 LDA #$06 ;CMD C55B: 38 07080 SEC C55C: 20 78 C2 07090 JSR XMTCMD 07100 ; C55F: A0 00 07110 LDY #$00 C561: A9 20 07120 .04 LDA #$20 ;FDC EXM C563: 2C 00 42 07130 .05 BIT FDCST C566: 10 FB 07140 BPL .05 C568: F0 16 07150 BEQ .06 C56A: AD 01 42 07160 LDA FDCDAT C56D: 49 FF 07170 EOR #$FF C56F: 91 00 07180 STA (BUFADR),Y 07190 ; C571: C8 07200 INY C572: D0 04 07210 BNE .07 C574: E6 01 07220 INC BUFADR+1 C576: C6 03 07230 DEC BUFLEN+1 C578: C4 02 07240 .07 CPY BUFLEN C57A: D0 E5 07250 BNE .04 C57C: A5 03 07260 LDA BUFLEN+1 C57E: D0 E1 07270 BNE .04 07280 ; C580: 4C 7C C1 07290 .06 JMP RESULTS 07300 ------------------------------ C583: A4 28 07310 WSEC LDY ACTDRV C585: 20 B8 C0 07320 JSR CALC C588: A5 29 07330 LDA CYL C58A: 20 5D C2 07340 JSR SEEK C58D: B9 34 02 07350 LDA PBYTLO,Y C590: 85 2F 07360 STA DTL C592: B9 30 02 07370 LDA PBYTHI,Y C595: 85 2C 07380 STA NUM C597: B9 24 02 07390 LDA PSEKLO,Y C59A: 85 2D 07400 STA EOT 07410 ; C59C: 20 2A C1 07420 JSR SECBFL 07430 ; C59F: A9 05 07440 LDA #$05 C5A1: 38 07450 SEC C5A2: 20 78 C2 07460 JSR XMTCMD 07470 ; C5A5: A0 00 07480 LDY #$00 C5A7: A9 20 07490 .01 LDA #$20 C5A9: 2C 00 42 07500 .02 BIT FDCST C5AC: 10 FB 07510 BPL .02 C5AE: F0 16 07520 BEQ .04 C5B0: B1 00 07530 LDA (BUFADR),Y C5B2: 49 FF 07540 EOR #$FF C5B4: 8D 01 42 07550 STA FDCDAT 07560 ; C5B7: C8 07570 INY C5B8: D0 04 07580 BNE .03 C5BA: E6 01 07590 INC BUFADR+1 C5BC: C6 03 07600 DEC BUFLEN+1 C5BE: C4 02 07610 .03 CPY BUFLEN C5C0: D0 E5 07620 BNE .01 C5C2: A5 03 07630 LDA BUFLEN+1 C5C4: D0 E1 07640 BNE .01 07650 ; C5C6: 4C 7C C1 07660 .04 JMP RESULTS 07670 ------------------------------ C5C9: A4 28 07680 FODISK LDY ACTDRV C5CB: 20 44 C2 07690 JSR TR00 C5CE: B9 30 02 07700 LDA PBYTHI,Y C5D1: 85 37 07710 STA FOTAB ;NUM C5D3: B9 24 02 07720 LDA PSEKLO,Y C5D6: 85 38 07730 STA FOTAB+1 ;EOT C5D8: A9 0A 07740 LDA #$0A C5DA: BE 2C 02 07750 LDX PMF,Y ;MFM? C5DD: F0 01 07760 BEQ .01 ;Nein -> C5DF: 0A 07770 ASL C5E0: 85 39 07780 .01 STA FOTAB+2 ;GPL C5E2: A9 FF 07790 LDA #$FF C5E4: 85 3A 07800 STA FOTAB+3 ;FILLER C5E6: B9 14 02 07810 FOTRK LDA PCNTAB,Y C5E9: 85 34 07820 STA IDTAB ;CYL C5EB: B9 28 02 07830 LDA PSIDE,Y C5EE: 85 35 07840 STA IDTAB+1 ;HEA C5F0: A5 35 07850 FOSIDE LDA IDTAB+1 C5F2: 85 2A 07860 STA HEA C5F4: A9 0D 07870 LDA #$0D ;Format C5F6: 18 07880 CLC C5F7: 20 78 C2 07890 JSR XMTCMD C5FA: A2 00 07900 LDX #$00 C5FC: B5 37 07910 .01 LDA FOTAB,X C5FE: 2C 00 42 07920 .02 BIT FDCST C601: 10 FB 07930 BPL .02 C603: 70 2E 07940 BVS FOERR C605: 8D 01 42 07950 STA FDCDAT C608: E8 07960 INX C609: E0 04 07970 CPX #$04 C60B: 90 EF 07980 BCC .01 C60D: A0 00 07990 LDY #$00 C60F: B9 74 02 08000 WRID LDA SKEW,Y C612: 85 36 08010 STA IDTAB+2 ;REC C614: A2 00 08020 LDX #$00 C616: B5 34 08030 .01 LDA IDTAB,X C618: 2C 00 42 08040 .02 BIT FDCST C61B: 10 FB 08050 BPL .02 C61D: 70 14 08060 BVS FOERR C61F: 8D 01 42 08070 STA FDCDAT C622: E8 08080 INX C623: E0 04 08090 CPX #$04 C625: 90 EF 08100 BCC .01 C627: C8 08110 INY C628: C4 38 08120 CPY FOTAB+1 ;EOT C62A: D0 E3 08130 BNE WRID C62C: A9 08 08140 LDA #$08 C62E: 2C 82 40 08150 .03 BIT PORTB C631: F0 FB 08160 BEQ .03 C633: A4 28 08170 FOERR LDY ACTDRV C635: 20 7C C1 08180 JSR RESULTS C638: B0 0D 08190 BCS FOX C63A: C6 35 08200 DEC IDTAB+1 ;HEA C63C: 10 B2 08210 BPL FOSIDE C63E: 20 53 C2 08220 JSR STEPIN C641: 90 A3 08230 BCC FOTRK C643: 20 44 C2 08240 JSR TR00 C646: 18 08250 CLC C647: 60 08260 FOX RTS 08270 ------------------------------ C648: A2 05 08280 SETSKEW LDX #$05 Interleave C64A: B9 4C 02 08290 LDA PHD,Y ist es HD? C64D: D0 02 08300 BNE .00 Nein-> C64F: A2 0B 08310 LDX #$0B C651: B9 2C 02 08320 .00 LDA PMF,Y C654: F0 02 08330 BEQ .01 C656: E8 08340 INX > 128 Byte C657: E8 08350 INX je Sektor C658: 8E 9A 02 08360 .01 STX INTRLV 08370 ; C65B: B9 24 02 08380 LDA PSEKLO,Y L|sche C65E: AA 08390 TAX Sektor- C65F: CA 08400 DEX C660: 9E 74 02 08410 .02 STZ SKEW,X tabelle C663: CA 08420 DEX C664: 10 FA 08430 BPL .02 08440 ; C666: A2 01 08450 LDX #$01 C668: 8E 98 02 08460 STX SKWSEC C66B: CA 08470 DEX C66C: 8E 99 02 08480 STX SKEWPT C66F: BD 74 02 08490 .03 LDA SKEW,X C672: F0 08 08500 BEQ .04 C674: EE 99 02 08510 INC SKEWPT C677: 20 9D C6 08520 JSR .07 C67A: 90 F3 08530 BCC .03 C67C: AD 98 02 08540 .04 LDA SKWSEC C67F: 9D 74 02 08550 STA SKEW,X C682: EE 98 02 08560 INC SKWSEC C685: B9 24 02 08570 LDA PSEKLO,Y C688: CD 98 02 08580 CMP SKWSEC C68B: 90 05 08590 BCC .05 C68D: 20 93 C6 08600 JSR .06 C690: 90 DD 08610 BCC .03 C692: 60 08620 .05 RTS 08630 ; C693: 18 08640 .06 CLC Addiere C694: AD 99 02 08650 LDA SKEWPT Interleave C697: 6D 9A 02 08660 ADC INTRLV C69A: 8D 99 02 08670 STA SKEWPT 08680 ; C69D: AD 99 02 08690 .07 LDA SKEWPT 0<=PT C6D2: 29 10 08950 AND #$10 ;TR0? C6D4: F0 03 08960 BEQ .02 ;Nein -> C6D6: 20 53 C2 08970 JSR STEPIN C6D9: 20 44 C2 08980 .02 JSR TR00 C6DC: 20 F2 C1 08990 JSR DSTAT C6DF: B9 10 02 09000 LDA ST3TAB,Y C6E2: 60 09010 .01 RTS C6E3: FF FF FF C6E6: FF FF FF C6E9: FF FF FF C6EC: FF FF FF C6EF: FF FF FF C6F2: FF FF FF C6F5: FF FF FF C6F8: FF FF FF C6FB: FF FF FF C6FE: FF FF FF C701: FF FF FF C704: FF FF FF C707: FF FF FF C70A: FF FF FF C70D: FF FF FF C710: FF FF FF C713: FF FF FF C716: FF FF FF C719: FF FF FF C71C: FF FF FF C71F: FF FF FF C722: FF FF FF C725: FF FF FF C728: FF FF FF C72B: FF FF FF 09020 .BL $4B,$FF 09030 ------------------------------ C72E: AD 01 41 09040 SIOGET LDA SIOST Schon was C731: 29 3A 09050 AND #$3A empfangen? C733: 4A 09060 LSR C734: 4A 09070 LSR C735: 90 F7 09080 BCC SIOGET Nein -> C737: D0 01 09090 BNE .01 Fehler -> C739: 18 09100 CLC C73A: 05 22 09110 .01 ORA STATUS C73C: 85 22 09120 STA STATUS C73E: AD 00 41 09130 LDA SIODAT Bei Fehler C741: 60 09140 RTS ist C=1 09150 ------------------------------ C742: 48 09160 SIOPUT PHA C743: 8D 00 41 09170 STA SIODAT C746: AD 80 40 09180 .01 LDA PORTA C749: 29 FE 09190 AND #$FE C74B: 8D 80 40 09200 STA PORTA C74E: 09 01 09210 ORA #$01 C750: 8D 80 40 09220 STA PORTA C753: A5 23 09230 LDA BAUD C755: 3A 09240 .02 DEA C756: D0 FD 09250 BNE .02 C758: A9 04 09260 LDA #$04 C75A: 2C 01 41 09270 BIT SIOST C75D: F0 E7 09280 BEQ .01 C75F: 68 09290 PLA C760: 60 09300 RTS 09310 ------------------------------ C761: 18 09320 CHKSUM CLC C762: 65 1C 09330 ADC PSUMME C764: 69 00 09340 ADC #$00 C766: 85 1C 09350 STA PSUMME C768: 60 09360 RTS 09370 ------------------------------ C769: A5 20 09380 BOOTSEC LDA DAUX2 ;Ist es C76B: D0 0F 09390 BNE .01 ;ein Boot- C76D: A5 1F 09400 LDA DAUX1 ;sektor ? C76F: C9 04 09410 CMP #$04 C771: B0 09 09420 BCS .01 C773: A9 80 09430 LDA #$80 C775: 85 02 09440 STA BUFLEN C777: 64 03 09450 STZ BUFLEN+1 C779: 4C 38 C1 09460 JMP SSECBF ;Ja C77C: 4C 2A C1 09470 .01 JMP SECBFL ;Nein 09480 ------------------------------ C77F: 20 2E C7 09490 RECV JSR SIOGET Lese Byte C782: B0 22 09500 BCS .02 Fehler -> C784: 92 00 09510 STA (BUFADR) Schleife C786: 20 61 C7 09520 JSR CHKSUM bis C789: 20 59 C1 09530 JSR BUFINC Puffer C78C: 90 F1 09540 BCC RECV voll -> C78E: 20 2E C7 09550 JSR SIOGET C791: C5 1C 09560 CMP PSUMME C793: 08 09570 PHP C794: A9 30 09580 LDA #$30 C796: 8D 96 40 09590 STA T0064D C799: 2C 85 40 09600 .01 BIT IFLG C79C: 10 FB 09610 BPL .01 C79E: 28 09620 PLP C79F: D0 1B 09630 BNE POP C7A1: A9 41 09640 LDA #ACK C7A3: 4C 42 C7 09650 JMP SIOPUT ;ok, Ret. 09660 ; C7A6: A9 03 09670 .02 LDA #3 Timeout C7A8: 8D 97 40 09680 STA T1024D 768 us C7AB: AD 01 41 09690 .03 LDA SIOST C7AE: 4A 09700 LSR C7AF: 4A 09710 LSR C7B0: 2C 85 40 09720 BIT IFLG C7B3: 30 07 09730 BMI POP C7B5: 90 F4 09740 BCC .03 C7B7: AD 00 41 09750 LDA SIODAT C7BA: B0 EA 09760 BCS .02 09770 ; C7BC: 68 09780 POP PLA C7BD: 68 09790 PLA 09800 ; C7BE: B9 5C 02 09810 DATNACK LDA ST02EA,Y C7C1: 09 02 09820 ORA #$02 C7C3: 99 5C 02 09830 STA ST02EA,Y C7C6: A9 4E 09840 LDA #NACK C7C8: 4C A6 CD 09850 JMP XIT ;Err, POP 09860 ------------------------------ C7CB: B2 00 09870 XMIT LDA (BUFADR) C7CD: 8D 00 41 09880 STA SIODAT C7D0: 20 61 C7 09890 JSR CHKSUM C7D3: AD 80 40 09900 .01 LDA PORTA TxCLK LO C7D6: 29 FE 09910 AND #$FE C7D8: 8D 80 40 09920 STA PORTA C7DB: 09 01 09930 ORA #$01 TxCLK HI C7DD: 8D 80 40 09940 STA PORTA C7E0: A5 23 09950 LDA BAUD Verz|ge- C7E2: 3A 09960 .02 DEA rung, gem. C7E3: D0 FD 09970 BNE .02 Baudrate C7E5: A9 01 09980 LDA #$01 Warte auf C7E7: 2C 01 41 09990 BIT SIOST T_Ready C7EA: F0 E7 10000 BEQ .01 C7EC: 20 59 C1 10010 JSR BUFINC C7EF: 90 DA 10020 BCC XMIT C7F1: A5 1C 10030 LDA PSUMME C7F3: 4C 42 C7 10040 JMP SIOPUT 10050 ------------------------------ C7F6: A9 08 10060 MOTON LDA #$08 Motor an C7F8: 0C 80 40 10070 TSB PORTA C7FB: D0 11 10080 BNE .03 war an -> C7FD: DA 10090 PHX C7FE: A2 08 10100 LDX #8 500 ms C800: A9 FF 10110 .01 LDA #$FF Motorhoch- C802: 8D 97 40 10120 STA T1024D laufzeit C805: 2C 85 40 10130 .02 BIT IFLG C808: 10 FB 10140 BPL .02 C80A: CA 10150 DEX C80B: D0 F3 10160 BNE .01 C80D: FA 10170 PLX C80E: A5 24 10180 .03 LDA OFFDEL Motornach- C810: 85 27 10190 STA MOTIM+2 laufzeit C812: 64 26 10200 STZ MOTIM+1 C814: 64 25 10210 STZ MOTIM C816: 60 10220 RTS 10230 ------------------------------ C817: 2C 01 41 10240 WAITCMD BIT SIOST Wait 'til C81A: 10 FB 10250 BPL WAITCMD CMD end C81C: A0 00 10260 LDY #$00 C81E: 84 22 10270 STY STATUS C820: 84 1C 10280 STY PSUMME C822: AD 00 41 10290 .03 LDA SIODAT Clr Bugs C825: 20 AE C6 10300 JSR MOTOR0 3s delay C828: 2C 01 41 10310 BIT SIOST CMD set? C82B: 30 F5 10320 BMI .03 No -> C82D: 2C 82 40 10330 BIT PORTB Host on? C830: 70 E5 10340 BVS WAITCMD No -> C832: A9 37 10350 LDA #$37 SIO an C834: 8D 01 41 10360 STA SIOCMD C837: 20 2E C7 10370 JSR SIOGET C83A: B0 DB 10380 BCS WAITCMD C83C: 85 1D 10390 STA DRIVE C83E: 85 1C 10400 STA PSUMME C840: A9 FF 10410 LDA #$FF Baudrate C842: 8D 96 40 10420 STA T0064D ermitteln C845: C8 10430 INY C846: 20 2E C7 10440 .01 JSR SIOGET C849: B0 CC 10450 BCS WAITCMD C84B: 99 1D 00 10460 STA DRIVE,Y C84E: 20 61 C7 10470 JSR CHKSUM C851: C8 10480 INY C852: C0 05 10490 CPY #$05 C854: D0 F0 10500 BNE .01 C856: 2C 85 40 10510 BIT IFLG C859: 30 BC 10520 BMI WAITCMD C85B: AC 84 40 10530 LDY RTIMID C85E: 84 3D 10540 STY RTIMIDZ C860: 2C 01 41 10550 .04 BIT SIOST C863: 10 FB 10560 BPL .04 C865: C5 1C 10570 CMP PSUMME C867: D0 AE 10580 BNE WAITCMD 10590 ; C869: A0 03 10600 DRVCHK LDY #$03 C86B: B9 00 02 10610 .01 LDA DRVTAB,Y C86E: 30 06 10620 BMI .02 C870: 2C 82 40 10630 BIT PORTB C873: 10 01 10640 BPL .02 C875: 1A 10650 INA C876: 29 7F 10660 .02 AND #$7F C878: C5 1D 10670 CMP DRIVE C87A: F0 05 10680 BEQ DRVFND C87C: 88 10690 DEY C87D: 10 EC 10700 BPL .01 C87F: 30 96 10710 BMI WAITCMD 10720 ; C881: 84 28 10730 DRVFND STY ACTDRV C883: A9 25 10740 LDA #$25 C885: A6 3D 10750 LDX RTIMIDZ C887: E0 80 10760 CPX #$80 C889: 90 03 10770 BCC .01 C88B: B9 48 02 10780 LDA PBAUD,Y C88E: 85 23 10790 .01 STA BAUD 10800 ; C890: A2 1F 10810 CMDCHK LDX #$1F C892: A5 1E 10820 LDA COMAND C894: DD 00 40 10830 .01 CMP RRAM,X C897: F0 10 10840 BEQ CMDJMP C899: CA 10850 DEX C89A: 10 F8 10860 BPL .01 10870 ; C89C: B9 5C 02 10880 CMDNACK LDA ST02EA,Y C89F: 09 01 10890 ORA #$01 C8A1: 99 5C 02 10900 STA ST02EA,Y C8A4: A9 4E 10910 LDA #NACK C8A6: 4C A6 CD 10920 JMP XIT 10930 ; C8A9: E0 05 10940 CMDJMP CPX #$05 Ext. CMD? C8AB: 90 05 10950 BCC .01 Nein -> C8AD: B9 6C 02 10960 LDA HPYFLG,Y Happy ist C8B0: 30 EA 10970 BMI CMDNACK aus -> C8B2: E0 03 10980 .01 CPX #$03 R/W SEC? C8B4: B0 1E 10990 BCS .04 No -> 11000 ; C8B6: A5 20 11010 LDA DAUX2 Sektor # C8B8: 10 09 11020 BPL .02 negativ? C8BA: B9 6C 02 11030 LDA HPYFLG,Y Ram/Rom C8BD: 30 DD 11040 BMI CMDNACK Adr. wenn C8BF: 10 13 11050 BPL .04 Happy an. 11060 ; C8C1: A5 20 11070 LDA DAUX2 Es gibt C8C3: 05 1F 11080 .02 ORA DAUX1 keinen C8C5: F0 D5 11090 BEQ CMDNACK Sektor 0! 11100 ; C8C7: 38 11110 SEC Sektor - C8C8: B9 54 02 11120 LDA PMAXLO,Y nummer zu C8CB: E5 1F 11130 SBC DAUX1 gro~? C8CD: B9 58 02 11140 LDA PMAXHI,Y C8D0: E5 20 11150 SBC DAUX2 C8D2: 90 C8 11160 BCC CMDNACK Ja -> 11170 ; C8D4: 20 B1 C1 11180 .04 JSR SPEC C8D7: A9 41 11190 LDA #ACK C8D9: 20 42 C7 11200 JSR SIOPUT C8DC: 64 1C 11210 STZ PSUMME C8DE: BD 20 40 11220 LDA RRAM+$20,X C8E1: 85 06 11230 STA DIV C8E3: BD 40 40 11240 LDA RRAM+$40,X C8E6: 85 07 11250 STA DIV+1 C8E8: 6C 06 00 11260 JMP (DIV) 11270 ; C8EB: 50 57 52 C8EE: 21 53 11280 CMDTAB .AS "PWR!S" ;$97A0 C8F0: 20 3F 41 C8F3: 48 4E 4F C8F6: 51 54 68 C8F9: 69 66 11290 .AS " ?AHNOQThif" C8FB: 00 00 00 C8FE: 00 00 00 C901: 00 00 00 C904: 00 00 00 C907: 00 00 00 C90A: 00 11300 .BL $10,$00 11310 ; C90B: 89 89 11320 .DA #PTSEC,#WRSEC C90D: D9 4A 11330 .DA #RDSEC,#FORMT C90F: 90 11340 .DA #STATS C910: 69 8B 11350 .DA #AUTOF,#GETBD C912: 99 03 11360 .DA #CHCMD,#HAPPY C914: 18 30 11370 .DA #RPERC,#WPERC C916: 91 AC 11380 .DA #QQQQQ,#RDRAM C918: C8 E6 11390 .DA #RSIOL,#RSIOD C91A: 30 11400 .DA #CUSTM C91B: 00 00 00 C91E: 00 00 00 C921: 00 00 00 C924: 00 00 00 C927: 00 00 00 C92A: 00 11410 .BL $10,$00 11420 ; C92B: C9 C9 11430 .DA /PTSEC,/WRSEC C92D: C9 CA 11440 .DA /RDSEC,/FORMT C92F: CA 11450 .DA /STATS C930: CB CB 11460 .DA /AUTOF,/GETBD C932: CB CC 11470 .DA /CHCMD,/HAPPY C934: CD CD 11480 .DA /RPERC,/WPERC C936: CD CD 11490 .DA /QQQQQ,/RDRAM C938: CD CD 11500 .DA /RSIOL,/RSIOD C93A: CD 11510 .DA /CUSTM C93B: 00 00 00 C93E: 00 00 00 C941: 00 00 00 C944: 00 00 00 C947: 00 00 00 C94A: 00 11520 .BL $10,$00 11530 ------------------------------ C94B: 20 2A C1 11540 RWMEM JSR SECBFL C94E: A5 1E 11550 LDA COMAND C950: C9 52 11560 CMP #'R C952: F0 1F 11570 BEQ .04 11580 ; C954: 20 7F C7 11590 JSR RECV C957: 24 20 11600 BIT DAUX2 C959: 50 03 11610 BVC .01 C95B: 4C A4 CD 11620 JMP XERR 11630 ; C95E: 20 38 C1 11640 .01 JSR SSECBF C961: B2 00 11650 .02 LDA (BUFADR) C963: 92 1F 11660 STA (DAUX1) C965: E6 1F 11670 INC DAUX1 C967: D0 02 11680 BNE .03 C969: E6 20 11690 INC DAUX2 C96B: 20 59 C1 11700 .03 JSR BUFINC C96E: 90 F1 11710 BCC .02 C970: 4C A1 CD 11720 JMP XWOK 11730 ; C973: A5 1F 11740 .04 LDA DAUX1 C975: 85 00 11750 STA BUFADR C977: A5 20 11760 LDA DAUX2 C979: 85 01 11770 STA BUFADR+1 C97B: A9 43 11780 LDA #COMPLT C97D: 20 42 C7 11790 JSR SIOPUT C980: 20 40 C1 11800 JSR SBFEND C983: 20 CB C7 11810 JSR XMIT C986: 4C 17 C8 11820 JMP WAITCMD 11830 ------------------------------ 11840 WRSEC C989: A5 20 11850 PTSEC LDA DAUX2 RAM Adr.? C98B: 10 03 11860 BPL .00 C98D: 4C 4B C9 11870 JMP RWMEM 11880 ; C990: 20 69 C7 11890 .00 JSR BOOTSEC C993: 20 7F C7 11900 JSR RECV C996: 20 F2 C1 11910 JSR DSTAT C999: B9 10 02 11920 LDA ST3TAB,Y C99C: 30 05 11930 BMI .01 C99E: 20 B9 C3 11940 JSR CFGDRV C9A1: 10 33 11950 BPL .02 C9A3: B9 6C 02 11960 .01 LDA HPYFLG,Y C9A6: 4A 11970 LSR C9A7: B0 16 11980 BCS .03 C9A9: 20 F6 C7 11990 JSR MOTON C9AC: 20 38 C1 12000 JSR SSECBF C9AF: 20 83 C5 12010 JSR WSEC C9B2: B9 0C 02 12020 LDA ST2TAB,Y C9B5: 29 10 12030 AND #$10 C9B7: F0 06 12040 BEQ .03 C9B9: 20 44 C2 12050 JSR TR00 C9BC: 20 83 C5 12060 JSR WSEC C9BF: 08 12070 .03 PHP C9C0: 20 43 CB 12080 JSR SRDST C9C3: 28 12090 PLP C9C4: B0 10 12100 BCS .02 C9C6: A5 20 12110 LDA DAUX2 C9C8: D0 09 12120 BNE .04 C9CA: A5 1F 12130 LDA DAUX1 C9CC: C9 01 12140 CMP #1 C9CE: D0 03 12150 BNE .04 C9D0: 20 AE C4 12160 JSR SE01BF C9D3: 4C A1 CD 12170 .04 JMP XWOK C9D6: 4C A4 CD 12180 .02 JMP XERR 12190 ------------------------------ C9D9: A5 20 12200 RDSEC LDA DAUX2 C9DB: 10 03 12210 BPL .00 C9DD: 4C 4B C9 12220 JMP RWMEM 12230 ; C9E0: 20 F2 C1 12240 .00 JSR DSTAT C9E3: B9 60 02 12250 LDA ST02EB,Y C9E6: 09 40 12260 ORA #$40 C9E8: 99 60 02 12270 STA ST02EB,Y C9EB: B9 10 02 12280 LDA ST3TAB,Y;Dsk still C9EE: 30 08 12290 BMI .01 ;in Drive C9F0: 20 B9 C3 12300 JSR CFGDRV C9F3: B9 10 02 12310 LDA ST3TAB,Y C9F6: 10 24 12320 BPL .03 ;No Disk C9F8: A5 20 12330 .01 LDA DAUX2 C9FA: D0 09 12340 BNE .02 C9FC: A5 1F 12350 LDA DAUX1 C9FE: C9 01 12360 CMP #1 CA00: D0 03 12370 BNE .02 CA02: 4C 30 CA 12380 JMP RSECRAM CA05: 20 F6 C7 12390 .02 JSR MOTON CA08: 20 3D C5 12400 JSR RSEC CA0B: 90 12 12410 BCC .04 CA0D: B9 0C 02 12420 LDA ST2TAB,Y CA10: 29 10 12430 AND #$10 CA12: F0 08 12440 BEQ .03 CA14: 20 44 C2 12450 JSR TR00 CA17: 20 3D C5 12460 JSR RSEC CA1A: 90 03 12470 BCC .04 CA1C: A9 45 12480 .03 LDA #ERROR CA1E: 2C 12490 .HX 2C CA1F: A9 43 12500 .04 LDA #COMPLT ;Sektor ok CA21: 20 42 C7 12510 JSR SIOPUT CA24: 20 69 C7 12520 JSR BOOTSEC CA27: 20 CB C7 12530 JSR XMIT CA2A: 20 43 CB 12540 JSR SRDST CA2D: 4C 17 C8 12550 JMP WAITCMD 12560 ; CA30: 20 D3 C4 12570 RSECRAM JSR SBTBF CA33: A9 80 12580 LDA #$80 CA35: 85 02 12590 STA BUFLEN CA37: 64 03 12600 STZ BUFLEN+1 CA39: 20 40 C1 12610 JSR SBFEND CA3C: A9 43 12620 LDA #COMPLT CA3E: 20 42 C7 12630 JSR SIOPUT CA41: 20 CB C7 12640 JSR XMIT CA44: 20 43 CB 12650 JSR SRDST CA47: 4C 17 C8 12660 JMP WAITCMD 12670 ------------------------------ CA4A: 20 C7 C6 12680 FORMT JSR IFDISK CA4D: 38 12690 SEC CA4E: 10 13 12700 BPL .07 CA50: B9 6C 02 12710 LDA HPYFLG,Y CA53: 4A 12720 LSR CA54: B0 0D 12730 BCS .07 CA56: 20 F6 C7 12740 JSR MOTON CA59: 20 48 C6 12750 JSR SETSKEW CA5C: 20 C9 C5 12760 JSR FODISK CA5F: A9 FF 12770 LDA #$FF CA61: 90 02 12780 BCC .04 CA63: A9 00 12790 .07 LDA #$00 CA65: A2 00 12800 .04 LDX #$00 CA67: 9D 00 06 12810 .05 STA SIOBUF,X CA6A: E8 12820 INX CA6B: D0 FA 12830 BNE .05 CA6D: B0 06 12840 BCS .06 CA6F: 20 70 C4 12850 JSR LASTSEC CA72: A9 43 12860 LDA #COMPLT CA74: 2C 12870 .HX 2C CA75: A9 45 12880 .06 LDA #ERROR CA77: 20 42 C7 12890 JSR SIOPUT CA7A: B9 34 02 12900 LDA PBYTLO,Y CA7D: 85 02 12910 STA BUFLEN CA7F: B9 30 02 12920 LDA PBYTHI,Y CA82: 85 03 12930 STA BUFLEN+1 CA84: 20 4E C1 12940 JSR SSIOBF CA87: 20 CB C7 12950 JSR XMIT CA8A: 20 43 CB 12960 JSR SRDST CA8D: 4C 17 C8 12970 JMP WAITCMD 12980 ------------------------------ 12990 .IN "D:STATS.BIB CA90: 20 F2 C1 00010 STATS JSR DSTAT 00020 *-02EA-* CA93: B9 5C 02 00030 LDA ST02EA,Y 0,1 CA96: 29 03 00040 AND #$03 CA98: 85 06 00050 STA DIV CA9A: B9 08 02 00060 LDA ST1TAB,Y 2 (WE) CA9D: 0A 00070 ASL CA9E: 29 04 00080 AND #4 CAA0: 04 06 00090 TSB DIV CAA2: B9 10 02 00100 LDA ST3TAB,Y 3 (WP) CAA5: 29 08 00110 AND #8 CAA7: 04 06 00120 TSB DIV CAA9: AD 80 40 00130 LDA PORTA 4 (MOT) CAAC: 0A 00140 ASL CAAD: 29 10 00150 AND #$10 CAAF: 04 06 00160 TSB DIV CAB1: B9 30 02 00170 LDA PBYTHI,Y 5 (DD) CAB4: C9 01 00180 CMP #$01 CAB6: 90 02 00190 BCC .01 CAB8: D7 06 00200 .DA #SB5,#DIV CABA: B9 24 02 00210 .01 LDA PSEKLO,Y 7 (MD) CABD: C9 13 00220 CMP #$13 ;>18=MD CABF: B9 30 02 00230 LDA PBYTHI,Y ;if not CAC2: F0 01 00240 BEQ .02 ;>128 CAC4: 18 00250 CLC ;By/Sec CAC5: 90 02 00260 .02 BCC .03 CAC7: F7 06 00270 .DA #SB7,#DIV CAC9: A5 06 00280 .03 LDA DIV CACB: 99 5C 02 00290 STA ST02EA,Y CACE: 8D 00 06 00300 STA SIOBUF 00310 *-02EB-* CAD1: B9 60 02 00320 LDA ST02EB,Y (2-6) CAD4: 29 7C 00330 AND #$7C CAD6: 85 06 00340 STA DIV CAD8: B9 10 02 00350 LDA ST3TAB,Y 7 (DC) CADB: 29 80 00360 AND #$80 CADD: 04 06 00370 TSB DIV CADF: AD 00 42 00380 LDA FDCST 0,1 CAE2: 29 50 00390 AND #$50 CAE4: 0A 00400 ASL CAE5: 0A 00410 ASL CAE6: 0A 00420 ASL CAE7: 0A 00430 ASL CAE8: C9 02 00440 CMP #2 CAEA: 90 02 00450 BCC .04 CAEC: 49 06 00460 EOR #6 CAEE: 49 03 00470 .04 EOR #3 CAF0: 05 06 00480 ORA DIV CAF2: 99 60 02 00490 STA ST02EB,Y CAF5: 8D 01 06 00500 STA SIOBUF+1 00510 *-02EC-* CAF8: A9 E0 00520 LDA #$E0 Timeout CAFA: 99 64 02 00530 STA ST02EC,Y CAFD: 8D 02 06 00540 STA SIOBUF+2 00550 *-02ED-* CB00: AD 00 42 00560 LDA FDCST CB03: 99 68 02 00570 STA ST02ED,Y CB06: 8D 03 06 00580 STA SIOBUF+3 00590 ; CB09: A9 43 00600 LDA #COMPLT Senden CB0B: 20 42 C7 00610 JSR SIOPUT CB0E: A9 04 00620 LDA #4 CB10: 85 02 00630 STA BUFLEN CB12: 64 03 00640 STZ BUFLEN+1 CB14: 20 4E C1 00650 JSR SSIOBF CB17: 20 CB C7 00660 JSR XMIT 00670 ; CB1A: B9 5C 02 00680 LDA ST02EA,Y CB1D: 29 FC 00690 AND #$FC CB1F: 99 5C 02 00700 STA ST02EA,Y 00710 ; CB22: B9 60 02 00720 LDA ST02EB,Y CB25: 29 83 00730 AND #$83 CB27: 09 18 00740 ORA #$18 CB29: 85 06 00750 STA DIV CB2B: B9 10 02 00760 LDA ST3TAB,Y CB2E: 29 40 00770 AND #$40 CB30: 49 40 00780 EOR #$40 CB32: 04 06 00790 TSB DIV CB34: B9 10 02 00800 LDA ST3TAB,Y CB37: 29 10 00810 AND #$10 CB39: 4A 00820 LSR CB3A: 4A 00830 LSR CB3B: 05 06 00840 ORA DIV CB3D: 99 60 02 00850 STA ST02EB,Y CB40: 4C 17 C8 00860 JMP WAITCMD 00870 ------------------------------ CB43: A4 28 00880 SRDST LDY ACTDRV CB45: B9 60 02 00890 LDA ST02EB,Y Reset CB48: 09 3C 00900 ORA #$3C 2,3,4,5 CB4A: 85 06 00910 STA DIV CB4C: B9 0C 02 00920 LDA ST2TAB,Y 5 (CM) CB4F: 29 40 00930 AND #$40 CB51: 4A 00940 LSR CB52: 14 06 00950 TRB DIV CB54: B9 08 02 00960 LDA ST1TAB,Y 5,4,?,2 CB57: 29 34 00970 AND #$34 -> CB59: 4A 00980 LSR 2,5,4 CB5A: 4A 00990 LSR CB5B: 4A 01000 LSR CB5C: 90 02 01010 BCC .01 CB5E: 09 08 01020 ORA #8 CB60: 0A 01030 .01 ASL CB61: 49 FF 01040 EOR #$FF CB63: 25 06 01050 AND DIV CB65: 99 60 02 01060 STA ST02EB,Y CB68: 60 01070 RTS 01080 ------------------------------ 13000 ------------------------------ CB69: 20 C7 C6 13010 AUTOF JSR IFDISK CB6C: 10 1A 13020 BPL .01 No Disk CB6E: 0A 13030 ASL CB6F: 30 17 13040 BMI .01 Write prot CB71: B9 6C 02 13050 LDA HPYFLG,Y CB74: 4A 13060 LSR CB75: B0 11 13070 BCS .01 CB77: A9 43 13080 LDA #COMPLT CB79: 20 42 C7 13090 JSR SIOPUT CB7C: 20 F6 C7 13100 JSR MOTON CB7F: 20 48 C6 13110 JSR SETSKEW CB82: 20 C9 C5 13120 JSR FODISK CB85: 4C 17 C8 13130 JMP WAITCMD 13140 ; CB88: 4C A4 CD 13150 .01 JMP XERR 13160 ------------------------------ CB8B: A9 43 13170 GETBD LDA #COMPLT CB8D: 20 42 C7 13180 JSR SIOPUT CB90: B9 48 02 13190 LDA PBAUD,Y CB93: 20 42 C7 13200 JSR SIOPUT CB96: 4C A6 CD 13210 JMP XIT 13220 ------------------------------ CB99: A9 03 13230 CHCMD LDA #3 Lese 3 CB9B: 85 02 13240 STA BUFLEN Bytes CB9D: 64 03 13250 STZ BUFLEN+1 CB9F: 20 4E C1 13260 JSR SSIOBF CBA2: 20 7F C7 13270 JSR RECV CBA5: AD 00 06 13280 LDA SIOBUF CBA8: 29 7F 13290 AND #$7F CBAA: 8D 03 06 13300 STA SIOBUF+3 CBAD: A2 00 13310 LDX #0 CBAF: BD 00 40 13320 .01 LDA RRAM,X Eintrag CBB2: F0 0F 13330 BEQ .02 frei CBB4: 29 7F 13340 AND #$7F CBB6: CD 03 06 13350 CMP SIOBUF+3 Eintrag CBB9: F0 08 13360 BEQ .02 vorhanden CBBB: E8 13370 INX CBBC: E0 20 13380 CPX #$20 CBBE: 90 EF 13390 BCC .01 CBC0: 4C A4 CD 13400 JMP XERR 13410 ; CBC3: AD 01 06 13420 .02 LDA SIOBUF+1 CBC6: 0D 02 06 13430 ORA SIOBUF+2 CBC9: D0 23 13440 BNE .04 CBCB: BD 01 40 13450 .03 LDA RRAM+1,X CBCE: 9D 00 40 13460 STA RRAM,X CBD1: BD 21 40 13470 LDA RRAM+$21,X CBD4: 9D 20 40 13480 STA RRAM+$20,X CBD7: BD 41 40 13490 LDA RRAM+$41,X CBDA: 9D 40 40 13500 STA RRAM+$40,X CBDD: E8 13510 INX CBDE: E0 1F 13520 CPX #$1F CBE0: 90 E9 13530 BCC .03 CBE2: 9E 00 40 13540 STZ RRAM,X CBE5: 9E 20 40 13550 STZ RRAM+$20,X CBE8: 9E 40 40 13560 STZ RRAM+$40,X CBEB: 4C A1 CD 13570 JMP XWOK gel|scht 13580 ; CBEE: AD 00 06 13590 .04 LDA SIOBUF CBF1: 9D 00 40 13600 STA RRAM,X CBF4: AD 01 06 13610 LDA SIOBUF+1 CBF7: 9D 20 40 13620 STA RRAM+$20,X CBFA: AD 02 06 13630 LDA SIOBUF+2 CBFD: 9D 40 40 13640 STA RRAM+$40,X CC00: 4C A1 CD 13650 JMP XWOK eingetragen 13660 ; 13670 ------------------------------ CC03: A2 0F 13680 HAPPY LDX #$0F CC05: BD 1F CC 13690 .01 LDA HAPTAB,X CC08: C5 1F 13700 CMP DAUX1 CC0A: F0 06 13710 BEQ .02 CC0C: CA 13720 DEX CC0D: 10 F6 13730 BPL .01 CC0F: 4C A4 CD 13740 JMP XERR 13750 ; CC12: BD 2F CC 13760 .02 LDA HAPTAB+$10,X CC15: 85 06 13770 STA DIV CC17: BD 3F CC 13780 LDA HAPTAB+$20,X CC1A: 85 07 13790 STA DIV+1 CC1C: 6C 06 00 13800 JMP (DIV) 13810 ; CC1F: 00 01 02 CC22: 03 13820 HAPTAB .HX 00010203 CC23: 18 20 60 CC26: E0 13830 .HX 182060E0 CC27: FF FF FF CC2A: FF FF FF CC2D: FF FF 13840 .BL $08,$FF 13850 ; CC2F: 4F 5B 13860 .DA #HPY1,#OFFD CC31: 6A A4 13870 .DA #NDVN,#IDRV CC33: C2 DE 13880 .DA #WRPE,#FAWR CC35: F0 04 13890 .DA #SLOW,#HOFF CC37: A4 A4 13900 .DA #XERR,#XERR CC39: A4 A4 13910 .DA #XERR,#XERR CC3B: A4 A4 13920 .DA #XERR,#XERR CC3D: A4 A4 13930 .DA #XERR,#XERR 13940 ; CC3F: CC CC 13950 .DA /HPY1,/OFFD CC41: CC CC 13960 .DA /NDVN,/IDRV CC43: CC CC 13970 .DA /WRPE,/FAWR CC45: CC CD 13980 .DA /SLOW,/HOFF CC47: CD CD 13990 .DA /XERR,/XERR CC49: CD CD 14000 .DA /XERR,/XERR CC4B: CD CD 14010 .DA /XERR,/XERR CC4D: CD CD 14020 .DA /XERR,/XERR 14030 ; CC4F: A5 20 14040 HPY1 LDA DAUX2 CC51: C9 80 14050 CMP #$80 CC53: D0 03 14060 BNE .01 CC55: 4C A1 CD 14070 JMP XWOK CC58: 4C 9C C8 14080 .01 JMP CMDNACK 14090 ; CC5B: A5 20 14100 OFFD LDA DAUX2 CC5D: 4A 14110 LSR CC5E: 4A 14120 LSR CC5F: 4A 14130 LSR CC60: 4A 14140 LSR CC61: 4A 14150 LSR CC62: 18 14160 CLC CC63: 69 F8 14170 ADC #$F8 CC65: 85 24 14180 STA OFFDEL CC67: 4C A1 CD 14190 JMP XWOK 14200 ; CC6A: A6 28 14210 NDVN LDX ACTDRV CC6C: A5 20 14220 LDA DAUX2 Befehl ok? CC6E: 10 31 14230 BPL .03 Fehler -> CC70: 29 7F 14240 AND #$7F CC72: C9 3A 14250 CMP #$3A Nummer CC74: B0 2B 14260 BCS .03 1...9 CC76: C9 31 14270 CMP #$31 erlaubt CC78: 90 27 14280 BCC .03 CC7A: BC 00 02 14290 LDY DRVTAB,X Alte Nr. CC7D: 84 06 14300 STY DIV retten u. CC7F: A0 00 14310 LDY #$00 Eintrag CC81: 9E 00 02 14320 STZ DRVTAB,X l|schen. CC84: 2C 82 40 14330 BIT PORTB CC87: 10 01 14340 BPL .01 CC89: 3A 14350 DEA CC8A: D9 00 02 14360 .01 CMP DRVTAB,Y Gibt es CC8D: F0 0D 14370 BEQ .02 schon -> CC8F: C8 14380 INY CC90: C0 04 14390 CPY #4 CC92: 90 F6 14400 BCC .01 CC94: A5 20 14410 LDA DAUX2 Setze CC96: 9D 00 02 14420 STA DRVTAB,X Kennung CC99: 4C A1 CD 14430 JMP XWOK 14440 ; CC9C: A5 06 14450 .02 LDA DIV CC9E: 9D 00 02 14460 STA DRVTAB,X CCA1: 4C 9C C8 14470 .03 JMP CMDNACK 14480 ; CCA4: A5 20 14490 IDRV LDA DAUX2 CCA6: D0 17 14500 BNE .01 CCA8: 99 6C 02 14510 STA HPYFLG,Y CCAB: 18 14520 CLC CCAC: 98 14530 TYA CCAD: 69 31 14540 ADC #$31 CCAF: 99 00 02 14550 STA DRVTAB,Y CCB2: A9 FA 14560 LDA #$FA CCB4: 85 24 14570 STA OFFDEL CCB6: 20 F6 C7 14580 JSR MOTON CCB9: 20 B9 C3 14590 JSR CFGDRV CCBC: 4C A1 CD 14600 JMP XWOK CCBF: 4C 9C C8 14610 .01 JMP CMDNACK 14620 ; CCC2: B9 6C 02 14630 WRPE LDA HPYFLG,Y CCC5: A6 20 14640 LDX DAUX2 CCC7: E0 10 14650 CPX #$10 CCC9: D0 04 14660 BNE .01 CCCB: 09 01 14670 ORA #$01 CCCD: D0 06 14680 BNE .02 CCCF: E0 08 14690 .01 CPX #$08 CCD1: D0 08 14700 BNE .03 CCD3: 29 FE 14710 AND #$FE CCD5: 99 6C 02 14720 .02 STA HPYFLG,Y CCD8: 4C A1 CD 14730 JMP XWOK CCDB: 4C 9C C8 14740 .03 JMP CMDNACK 14750 ; CCDE: A5 20 14760 FAWR LDA DAUX2 CCE0: D0 0B 14770 BNE .01 CCE2: B9 6C 02 14780 LDA HPYFLG,Y CCE5: 09 02 14790 ORA #$02 CCE7: 99 6C 02 14800 STA HPYFLG,Y CCEA: 4C A1 CD 14810 JMP XWOK CCED: 4C 9C C8 14820 .01 JMP CMDNACK 14830 ; CCF0: A5 20 14840 SLOW LDA DAUX2 CCF2: C9 60 14850 CMP #$60 CCF4: D0 0B 14860 BNE .01 CCF6: B9 6C 02 14870 LDA HPYFLG,Y CCF9: 09 04 14880 ORA #$4 CCFB: 99 6C 02 14890 STA HPYFLG,Y CCFE: 4C A1 CD 14900 JMP XWOK CD01: 4C 9C C8 14910 .01 JMP CMDNACK 14920 ; CD04: A5 20 14930 HOFF LDA DAUX2 CD06: C9 E0 14940 CMP #$E0 CD08: D0 0B 14950 BNE .01 CD0A: B9 6C 02 14960 LDA HPYFLG,Y CD0D: 09 80 14970 ORA #$80 CD0F: 99 6C 02 14980 STA HPYFLG,Y CD12: 4C A1 CD 14990 JMP XWOK CD15: 4C 9C C8 15000 .01 JMP CMDNACK 15010 ------------------------------ CD18: A9 43 15020 RPERC LDA #COMPLT CD1A: 20 42 C7 15030 JSR SIOPUT CD1D: B9 18 02 15040 .01 LDA PTRACK,Y CD20: 20 42 C7 15050 JSR SIOPUT CD23: 20 61 C7 15060 JSR CHKSUM CD26: C8 15070 INY CD27: C8 15080 INY CD28: C8 15090 INY CD29: C8 15100 INY CD2A: C0 30 15110 CPY #$30 CD2C: 90 EF 15120 BCC .01 CD2E: B0 6E 15130 BCS XRD 15140 ------------------------------ 15150 CUSTM CD30: A9 0C 15160 WPERC LDA #12 CD32: A6 1E 15170 LDX COMAND CD34: E0 66 15180 CPX #'f CD36: D0 02 15190 BNE .00 CD38: A9 80 15200 LDA #128 CD3A: 85 02 15210 .00 STA BUFLEN CD3C: A9 00 15220 LDA #0 CD3E: 85 03 15230 STA BUFLEN+1 CD40: AA 15240 TAX CD41: 20 4E C1 15250 JSR SSIOBF CD44: 20 7F C7 15260 JSR RECV CD47: BD 00 06 15270 .01 LDA SIOBUF,X CD4A: 99 18 02 15280 STA PTRACK,Y CD4D: E8 15290 INX CD4E: C8 15300 INY CD4F: C8 15310 INY CD50: C8 15320 INY CD51: C8 15330 INY CD52: C0 30 15340 CPY #$30 CD54: 90 F1 15350 BCC .01 15360 ; CD56: A4 28 15370 LDY ACTDRV CD58: B9 1C 02 15380 LDA PSTEPR,Y Steprate CD5B: C9 02 15390 CMP #$02 minimal CD5D: B0 05 15400 BCS .04 2 ms CD5F: A9 02 15410 LDA #$02 CD61: 99 1C 02 15420 STA PSTEPR,Y 15430 ; CD64: 20 B1 C1 15440 .04 JSR SPEC HD ? CD67: A5 1E 15450 LDA COMAND CD69: C9 66 15460 CMP #'f CD6B: D0 21 15470 BNE .03 CD6D: A0 00 15480 LDY #0 CD6F: BD 00 06 15490 .02 LDA SIOBUF,X CD72: 99 74 02 15500 STA SKEW,Y CD75: E8 15510 INX CD76: C8 15520 INY CD77: CC 03 06 15530 CPY SIOBUF+3 CD7A: 90 F3 15540 BCC .02 CD7C: A4 28 15550 LDY ACTDRV CD7E: 20 C7 C6 15560 JSR IFDISK CD81: 10 21 15570 BPL XERR CD83: 20 F6 C7 15580 JSR MOTON CD86: 20 C9 C5 15590 JSR FODISK CD89: B0 19 15600 BCS XERR CD8B: 20 70 C4 15610 JSR LASTSEC CD8E: 4C A1 CD 15620 .03 JMP XWOK 15630 ------------------------------ CD91: A9 08 15640 QQQQQ LDA #$08 CD93: 1C 80 40 15650 TRB PORTA CD96: A9 43 15660 LDA #COMPLT CD98: 20 42 C7 15670 JSR SIOPUT CD9B: 4C 17 C8 15680 JMP WAITCMD 15690 ------------------------------ CD9E: A5 1C 15700 XRD LDA PSUMME CDA0: 2C 15710 .HX 2C CDA1: A9 43 15720 XWOK LDA #COMPLT CDA3: 2C 15730 .HX 2C CDA4: A9 45 15740 XERR LDA #ERROR CDA6: 20 42 C7 15750 XIT JSR SIOPUT CDA9: 4C 17 C8 15760 JMP WAITCMD 15770 ------------------------------ CDAC: A5 1F 15780 RDRAM LDA DAUX1 CDAE: 85 00 15790 STA BUFADR CDB0: A5 20 15800 LDA DAUX2 CDB2: 85 01 15810 STA BUFADR+1 CDB4: 64 02 15820 STZ BUFLEN CDB6: A9 01 15830 LDA #$01 CDB8: 85 03 15840 STA BUFLEN+1 CDBA: A9 43 15850 LDA #COMPLT CDBC: 20 42 C7 15860 JSR SIOPUT CDBF: 20 40 C1 15870 JSR SBFEND CDC2: 20 CB C7 15880 JSR XMIT CDC5: 4C 17 C8 15890 JMP WAITCMD 15900 ------------------------------ CDC8: A9 43 15910 RSIOL LDA #COMPLT CDCA: 20 42 C7 15920 JSR SIOPUT CDCD: A9 02 15930 LDA #$02 CDCF: 85 02 15940 STA BUFLEN CDD1: 64 03 15950 STZ BUFLEN+1 CDD3: A9 E4 15960 LDA #USIOL CDD5: 85 00 15970 STA BUFADR CDD7: A9 CD 15980 LDA /USIOL CDD9: 85 01 15990 STA BUFADR+1 CDDB: 20 40 C1 16000 JSR SBFEND CDDE: 20 CB C7 16010 JSR XMIT CDE1: 4C 17 C8 16020 JMP WAITCMD CDE4: 15 02 16030 USIOL .DA USIOE-USIOA 16040 ------------------------------ CDE6: AD E4 CD 16050 RSIOD LDA USIOL Puffer fuer CDE9: 85 02 16060 STA BUFLEN SIO setzen CDEB: AD E5 CD 16070 LDA USIOL+1 CDEE: 85 03 16080 STA BUFLEN+1 CDF0: 20 4E C1 16090 JSR SSIOBF CDF3: A9 59 16100 LDA #USIOA Errechne CDF5: 85 06 16110 STA DIV Differenz CDF7: 38 16120 SEC zur Ziel - CDF8: E5 1F 16130 SBC DAUX1 adresse CDFA: 85 1F 16140 STA DAUX1 CDFC: A9 CE 16150 LDA /USIOA DIV zeigt CDFE: 85 07 16160 STA DIV+1 auf die CE00: E5 20 16170 SBC DAUX2 Adresse im CE02: 85 20 16180 STA DAUX2 ROM 16190 ; CE04: A2 00 16200 LDX #$00 Zu ver - CE06: BD 6E D0 16210 .01 LDA ABSTBL,X legende CE09: C5 06 16220 CMP DIV Adresse? CE0B: D0 1E 16230 BNE .02 CE0D: BD 6F D0 16240 LDA ABSTBL+1,X CE10: C5 07 16250 CMP DIV+1 CE12: D0 17 16260 BNE .02 CE14: 20 4B CE 16270 JSR .04 Byte aus CE17: 38 16280 SEC ROM CE18: E5 1F 16290 SBC DAUX1 umrechnen CE1A: 08 16300 PHP CE1B: 20 54 CE 16310 JSR .06 CE1E: 20 4B CE 16320 JSR .04 CE21: 28 16330 PLP CE22: E5 20 16340 SBC DAUX2 CE24: 20 54 CE 16350 JSR .06 CE27: E8 16360 INX Zeiger CE28: E8 16370 INX auf naechste CE29: D0 06 16380 BNE .03 Adresse CE2B: 20 4B CE 16390 .02 JSR .04 CE2E: 20 54 CE 16400 JSR .06 CE31: A5 06 16410 .03 LDA DIV Ende CE33: C9 6E 16420 CMP #USIOE erreicht? CE35: D0 CF 16430 BNE .01 CE37: A5 07 16440 LDA DIV+1 CE39: C9 D0 16450 CMP /USIOE CE3B: D0 C9 16460 BNE .01 CE3D: A9 43 16470 LDA #COMPLT Ja. CE3F: 20 42 C7 16480 JSR SIOPUT Puffer CE42: 20 4E C1 16490 JSR SSIOBF senden CE45: 20 CB C7 16500 JSR XMIT CE48: 4C 17 C8 16510 JMP WAITCMD 16520 ; CE4B: B2 06 16530 .04 LDA (DIV) Byte CE4D: E6 06 16540 INC DIV lesen, CE4F: D0 02 16550 BNE .05 Zeiger CE51: E6 07 16560 INC DIV+1 erh|hen. CE53: 60 16570 .05 RTS 16580 ; CE54: 92 00 16590 .06 STA (BUFADR) CE56: 4C 59 C1 16600 JMP BUFINC 16610 ------------------------------ 16620 .IN "D:EPSIO.BIB 01000 * High-Speed SIO-Routine, wird 01010 * an die Zieladresse angepa~t 01020 * und zum Computer gesendet. 01030 ; CE59: AD 01 03 01040 USIOA LDA $0301 ;DUNIT CE5C: D0 09 01050 BNE SIO2 CE5E: A2 08 01060 LDX #$08 CE60: 9D 65 D0 01070 DLWTBLL STA LWTBL-1,X ;$F614 CE63: CA 01080 DEX CE64: D0 FA 01090 BNE DLWTBLL CE66: 60 01100 RTS CE67: AA 01110 SIO2 TAX CE68: BD 65 D0 01120 REL01 LDA LWTBL-1,X ;$F614 CE6B: D0 2F 01130 BNE SIO3 CE6D: A9 28 01140 LDA #$28 CE6F: 9D 65 D0 01150 REL02 STA LWTBL-1,X ;$F614 CE72: A0 07 01160 LDY #$07 CE74: B9 02 03 01170 SIOCL LDA $0302,Y ;DCOMND CE77: 48 01180 PHA CE78: B9 5E D0 01190 REL03 LDA C3F,Y ;$F60D CE7B: 99 02 03 01200 STA $0302,Y ;DCOMND CE7E: 88 01210 DEY CE7F: 10 F3 01220 BPL SIOCL CE81: 20 9C CE 01230 REL04 JSR SIO3 ;$F450 CE84: AE 01 03 01240 LDX $0301 ;DUNIT CE87: AC 03 03 01250 LDY $0303 ;DSTATS CE8A: 30 05 01260 BMI SIO21 CE8C: A5 01 01270 LDA $01 CE8E: 9D 65 D0 01280 REL05 STA LWTBL-1,X ;$F614 CE91: A0 00 01290 SIO21 LDY #$00 CE93: 68 01300 SIO21CL PLA CE94: 99 02 03 01310 STA $0302,Y ;DCOMND CE97: C8 01320 INY CE98: C0 08 01330 CPY #$08 CE9A: 90 F7 01340 BCC SIO21CL CE9C: 78 01350 SIO3 SEI CE9D: 8A 01360 TXA CE9E: 09 30 01370 ORA #$30 CEA0: 8D 3A 02 01380 STA $023A ;CDEVIC CEA3: AD 02 03 01390 LDA $0302 ;DCOMND CEA6: 8D 3B 02 01400 STA $023B ;CCOMND CEA9: AD 0A 03 01410 LDA $030A ;DAUX1 CEAC: 8D 3C 02 01420 STA $023C ;CAUX1 CEAF: AD 0B 03 01430 LDA $030B ;DAUX2 CEB2: 8D 3D 02 01440 STA $023D ;CAUX2 CEB5: BD 65 D0 01450 REL06 LDA LWTBL-1,X ;$F614 CEB8: 8D 04 D2 01460 STA $D204 ;AUDF3 CEBB: BA 01470 TSX CEBC: 86 3F 01480 STX $3F ;FEOF CEBE: A9 02 01490 LDA #$02 CEC0: 85 37 01500 STA $37 ;DRETRY CEC2: A9 07 01510 IO11 LDA #$07 CEC4: 85 36 01520 STA $36 ;CRETRY CEC6: A9 34 01530 IO12 LDA #$34 CEC8: 8D 03 D3 01540 STA $D303 CECB: A9 00 01550 LDA #$00 CECD: 85 30 01560 STA $30 ;STATUS CECF: 85 3E 01570 STA $3E ;FTYPE CED1: 85 35 01580 STA $35 ;BUFEND+1 CED3: 8D 06 D2 01590 STA $D206 ;AUDF4 CED6: A9 3A 01600 LDA #$3A CED8: 85 32 01610 STA $32 ;BUFADR CEDA: A9 02 01620 LDA #$02 CEDC: 85 33 01630 STA $33 ;BUFADR+1 CEDE: 0A 01640 ASL CEDF: 85 34 01650 STA $34 ;BUFEND CEE1: 20 2B CF 01660 REL07 JSR SEND1 ;$F4DC CEE4: AD 04 03 01670 LDA $0304 ;DBUFLO CEE7: 85 32 01680 STA $32 ;BUFADR CEE9: AD 05 03 01690 LDA $0305 ;DBUFHI CEEC: 85 33 01700 STA $33 ;BUFADR+1 CEEE: AD 08 03 01710 LDA $0308 ;DBYTLO CEF1: 85 34 01720 STA $34 ;BUFEND CEF3: AD 09 03 01730 LDA $0309 ;DBYTHI CEF6: 85 35 01740 STA $35 ;BUFEND+1 CEF8: AD 03 03 01750 LDA $0303 ;DSTATS CEFB: 10 03 01760 BPL IO2 CEFD: 20 2B CF 01770 REL08 JSR SEND1 ;$F4DC CF00: C6 3E 01780 IO2 DEC $3E ;FTYPE CF02: 20 93 CF 01790 REL09 JSR SETTI1 ;$F544 CF05: 2C 03 03 01800 BIT $0303 ;DSTATS CF08: 50 03 01810 BVC IO3 CF0A: 20 70 CF 01820 REL10 JSR GETA1 ;$F521 CF0D: A9 A0 01830 IO3 LDA #$A0 CF0F: 8D 07 D2 01840 STA $D207 ;AUDC4 CF12: A5 10 01850 LDA $10 CF14: 8D 0E D2 01860 STA $D20E ;IRQEN CF17: 20 C5 CF 01870 REL11 JSR CLRTI1 ;$F576 CF1A: A5 30 01880 LDA $30 ;STATUS CF1C: F0 04 01890 BEQ IO4 CF1E: C6 37 01900 DEC $37 ;DRETRY CF20: D0 A0 01910 BNE IO11 CF22: A8 01920 IO4 TAY CF23: D0 01 01930 BNE IO5 CF25: C8 01940 INY CF26: 8C 03 03 01950 IO5 STY $0303 ;DSTATS CF29: 58 01960 CLI CF2A: 60 01970 RTS CF2B: A0 00 01980 SEND1 LDY #$00 CF2D: C8 01990 SE1 INY CF2E: D0 FD 02000 BNE SE1 CF30: A9 23 02010 LDA #$23 CF32: 20 48 D0 02020 REL12 JSR POKEY ;$F5F7 CF35: B1 32 02030 LDA ($32),Y ;BUFADR CF37: 85 31 02040 STA $31 ;CHKSUM CF39: 8D 0D D2 02050 STA $D20D ;SEROUT CF3C: C8 02060 INY CF3D: D0 11 02070 BNE SE3 CF3F: B1 32 02080 SE2 LDA ($32),Y ;BUFADR CF41: 20 25 D0 02090 REL13 JSR PUTBYTE ;$F5D4 CF44: C8 02100 INY CF45: D0 09 02110 BNE SE3 CF47: E6 33 02120 INC $33 ;BUFADR+1 CF49: C6 35 02130 DEC $35 ;BUFEND+1 CF4B: A2 E0 02140 LDX #$E0 CF4D: E8 02150 SEWL INX CF4E: D0 FD 02160 BNE SEWL CF50: C4 34 02170 SE3 CPY $34 ;BUFEND CF52: D0 EB 02180 BNE SE2 CF54: A5 35 02190 LDA $35 ;BUFEND+1 CF56: D0 E7 02200 BNE SE2 CF58: A5 31 02210 LDA $31 ;CHKSUM CF5A: 20 25 D0 02220 REL14 JSR PUTBYTE ;$F5D4 CF5D: AD 0E D2 02230 SEO1 LDA $D20E ;IRQST CF60: 29 08 02240 AND #$08 CF62: D0 F9 02250 BNE SEO1 CF64: A0 03 02260 LDY #$03 CF66: 20 C7 CF 02270 REL15 JSR STOUTX0 ;$F578 CF69: A9 C0 02280 LDA #$C0 CF6B: 8D 0E D2 02290 STA $D20E ;IRQEN CF6E: D0 34 02300 BNE RDQUIT CF70: A0 00 02310 GETA1 LDY #$00 CF72: 84 31 02320 STY $31 ;CHKSUM CF74: 20 02 D0 02330 GE1 JSR GETBYTE ;$F5B1 CF77: 91 32 02340 STA ($32),Y ;BUFADR CF79: 20 40 D0 02350 REL16 JSR ADDSUM ;$F5EF CF7C: C8 02360 INY CF7D: D0 04 02370 BNE GE2 CF7F: E6 33 02380 INC $33 ;BUFADR+1 CF81: C6 35 02390 DEC $35 ;BUFEND+1 CF83: C4 34 02400 GE2 CPY $34 ;BUFEND CF85: D0 ED 02410 BNE GE1 CF87: A5 35 02420 LDA $35 ;BUFEND+1 CF89: D0 E9 02430 BNE GE1 CF8B: 20 02 D0 02440 REL17 JSR GETBYTE ;$F5B1 CF8E: C5 31 02450 CMP $31 ;CHKSUM CF90: D0 53 02460 BNE ERR8F CF92: 60 02470 RTS CF93: AD 06 03 02480 SETTI1 LDA $0306 ;DTIMLO CF96: 6A 02490 ROR CF97: 6A 02500 ROR CF98: A8 02510 TAY CF99: 29 3F 02520 AND #$3F CF9B: AA 02530 TAX CF9C: 98 02540 TYA CF9D: 6A 02550 ROR CF9E: 29 C0 02560 AND #$C0 CFA0: A8 02570 TAY CFA1: 20 C9 CF 02580 REL18 JSR STOUT ;$F57A CFA4: A9 3C 02590 RDQUIT LDA #$3C CFA6: 8D 03 D3 02600 STA $D303 CFA9: A9 13 02610 LDA #$13 CFAB: 20 48 D0 02620 REL19 JSR POKEY ;$F5F7 CFAE: 20 02 D0 02630 REL20 JSR GETBYTE ;$F5B1 CFB1: C9 41 02640 CMP #$41 CFB3: F0 10 02650 BEQ CLRTI1 CFB5: C9 43 02660 CMP #$43 CFB7: F0 0C 02670 BEQ CLRTI1 CFB9: C9 45 02680 CMP #$45 CFBB: F0 04 02690 BEQ ERR90 CFBD: A9 8B 02700 LDA #$8B CFBF: D0 29 02710 BNE ERR CFC1: A9 90 02720 ERR90 LDA #$90 CFC3: 85 30 02730 STA $30 ;STATUS CFC5: A0 00 02740 CLRTI1 LDY #$00 CFC7: A2 00 02750 STOUTX0 LDX #$00 CFC9: AD DA CF 02760 STOUT LDA ERRABS ;$F CFCC: 8D 26 02 02770 STA $0226 ;CDTMA1 CFCF: AD DB CF 02780 STOU2 LDA ERRABS+1 ;$F CFD2: 8D 27 02 02790 STA $0227 ;CDTMA1+1 CFD5: A9 01 02800 LDA #$01 CFD7: 4C 5C E4 02810 JMP $E45C ;Setze CDTMV1 CFDA: E8 CF 02820 ERRABS .DA ERR8A ;$F CFDC: A6 3F 02830 IOER80 LDX $3F ;FEOF CFDE: 9A 02840 TXS CFDF: A9 80 02850 LDA #$80 CFE1: 85 30 02860 STA $30 ;STATUS CFE3: D0 1A 02870 BNE EABS3 CFE5: A9 8F 02880 ERR8F LDA #$8F CFE7: 2C 02890 .HX 2C CFE8: A9 8A 02900 ERR8A LDA #$8A ;Timeout CFEA: 85 30 02910 ERR STA $30 ;STATUS CFEC: A6 3F 02920 LDX $3F ;FEOF CFEE: 9A 02930 TXS CFEF: A5 3E 02940 LDA $3E ;FTYPE CFF1: 30 07 02950 BMI ERRA CFF3: C6 36 02960 DEC $36 ;CRETRY CFF5: F0 03 02970 BEQ ERRA CFF7: 4C C6 CE 02980 REL21 JMP IO12 ;$F47A CFFA: A9 28 02990 ERRA LDA #$28 CFFC: 8D 04 D2 03000 STA $D204 ;AUDF3 CFFF: 4C 0D CF 03010 EABS3 JMP IO3 ;$F4C1 D002: AD 0E D2 03020 GETBYTE LDA $D20E ;IRQST D005: 10 D5 03030 BPL IOER80 D007: 29 20 03040 AND #$20 D009: D0 F7 03050 BNE GETBYTE D00B: A9 DF 03060 LDA #$DF D00D: 8D 0E D2 03070 STA $D20E ;IRQEN D010: A9 E0 03080 LDA #$E0 D012: 8D 0E D2 03090 STA $D20E ;IRQEN D015: AD 0F D2 03100 LDA $D20F ;SKSTAT D018: 8D 0A D2 03110 STA $D20A ;SKRES D01B: 10 CB 03120 BPL ERR8A D01D: 29 20 03130 AND #$20 D01F: F0 C7 03140 BEQ ERR8A D021: AD 0D D2 03150 LDA $D20D ;SERIN D024: 60 03160 RTS D025: AA 03170 PUTBYTE TAX D026: AD 0E D2 03180 PUTA1 LDA $D20E ;IRQST D029: 29 10 03190 AND #$10 D02B: D0 F9 03200 BNE PUTA1 D02D: A9 EF 03210 LDA #$EF D02F: 8D 0E D2 03220 STA $D20E ;IRQEN D032: A9 D0 03230 LDA #$D0 D034: 8D 0E D2 03240 STA $D20E ;IRQEN D037: 8A 03250 TXA D038: 8D 0D D2 03260 STA $D20D ;SEROUT D03B: AE 0E D2 03270 LDX $D20E ;IRQST D03E: 10 9C 03280 BPL IOER80 D040: 18 03290 ADDSUM CLC D041: 65 31 03300 ADC $31 ;CHKSUM D043: 69 00 03310 ADC #$00 D045: 85 31 03320 STA $31 ;CHKSUM D047: 60 03330 RTS D048: 8D 0F D2 03340 POKEY STA $D20F ;SKCTL D04B: 8D 0A D2 03350 STA $D20A ;SKRES D04E: A9 28 03360 LDA #$28 D050: 8D 08 D2 03370 STA $D208 ;AUDCTL D053: A9 A8 03380 LDA #$A8 D055: 8D 07 D2 03390 STA $D207 ;AUDC4 D058: A9 F8 03400 LDA #$F8 D05A: 8D 0E D2 03410 STA $D20E ;IRQEN D05D: 60 03420 RTS D05E: 3F 40 03430 C3F .HX 3F40 D060: 01 00 03440 .DA $0001 D062: 01 00 03450 .DA $0001 D064: 01 00 03460 .DA $0001 D066: 00 00 00 D069: 00 00 00 D06C: 00 00 03470 LWTBL .BL 8,0 03480 USIOE D06E: 61 CE 69 D071: CE 70 CE D074: 79 CE 82 D077: CE 8F CE D07A: B6 CE 03490 ABSTBL .DA DLWTBLL+1,REL01+1,REL02+1,REL03+1,REL04+1,REL05+1,REL06+1 D07C: E2 CE FE D07F: CE 03 CF D082: 0B CF 18 D085: CF 33 CF D088: 42 CF 03500 .DA REL07+1,REL08+1,REL09+1,REL10+1,REL11+1,REL12+1,REL13+1 D08A: 5B CF 67 D08D: CF 75 CF D090: 7A CF 8C D093: CF A2 CF D096: AC CF 03510 .DA REL14+1,REL15+1,GE1+1,REL16+1,REL17+1,REL18+1,REL19+1 D098: AF CF CA D09B: CF D0 CF D09E: DA CF F8 D0A1: CF 00 D0 03520 .DA REL20+1,STOUT+1,STOU2+1,ERRABS,REL21+1,EABS3+1 16630 ------------------------------ 16640 .OR $FFF9 16650 IRQ FFF9: 40 16660 NMI RTI FFFA: F9 FF 16670 .DA NMI FFFC: A6 C2 16680 .DA RESET FFFE: F9 FF 16690 .DA IRQ 16700 ------------------------------ Symbol table: ------------- D06E: ABSTBL 0041: ACK 0028: ACTDRV D040: ADDSUM CB69: AUTOF .01-CB88 0023: BAUD 0400: BOOTBF C769: BOOTSEC .01-C77C 000F: BR0 001F: BR1 002F: BR2 003F: BR3 004F: BR4 005F: BR5 006F: BR6 007F: BR7 008F: BS0 009F: BS1 00AF: BS2 00BF: BS3 00CF: BS4 00DF: BS5 00EF: BS6 00FF: BS7 0000: BUFADR 0004: BUFEND C159: BUFINC .01-C15F .02-C169 0002: BUFLEN D05E: C3F C0B8: CALC C3B9: CFGDRV .00-C3BF .01-C415 .03-C448 .10-C44A .04-C46A .05-C46D CB99: CHCMD .01-CBAF .02-CBC3 .03-CBCB .04-CBEE C000: CHKROM 003B: CHKROMZ C761: CHKSUM CFC5: CLRTI1 C890: CMDCHK .01-C894 C8A9: CMDJMP .01-C8B2 .02-C8C3 .04-C8D4 C89C: CMDNACK C8EB: CMDTAB 001E: COMAND 0043: COMPLT 4400: CR CD30: CUSTM 0029: CYL 000C: D0PB 0014: D0PT 000E: D1PB 0016: D1PT 0010: D2PB 0018: D2PT 0012: D3PB 001A: D3PT C7BE: DATNACK 001F: DAUX1 0020: DAUX2 0006: DIV CE60: DLWTBLL 0008: DOR 001D: DRIVE C869: DRVCHK .01-C86B .02-C876 C881: DRVFND .01-C88E 0200: DRVTAB C1F2: DSTAT .01-C1FC 002F: DTL CFFF: EABS3 002D: EOT CFEA: ERR CFE8: ERR8A CFE5: ERR8F CFC1: ERR90 CFFA: ERRA CFDA: ERRABS 0045: ERROR CCDE: FAWR .01-CCED 4201: FDCDAT 4200: FDCST C5C9: FODISK .01-C5E0 C633: FOERR CA4A: FORMT .07-CA63 .04-CA65 .05-CA67 .06-CA75 C5F0: FOSIDE .01-C5FC .02-C5FE 0037: FOTAB C5E6: FOTRK C647: FOX C173: GBYTE CF74: GE1 CF83: GE2 CF70: GETA1 CB8B: GETBD D002: GETBYTE 002E: GPL CC03: HAPPY .01-CC05 .02-CC12 CC1F: HAPTAB 002A: HEA CD04: HOFF .01-CD15 CC4F: HPY1 .01-CC58 026C: HPYFLG CCA4: IDRV .01-CCBF 0034: IDTAB C6C7: IFDISK .02-C6D9 .01-C6E2 4085: IFLG 029A: INTRLV CEC2: IO11 CEC6: IO12 CF00: IO2 CF0D: IO3 CF22: IO4 CF26: IO5 CFDC: IOER80 FFF9: IRQ C20E: ISTAT .04-C210 .01-C222 .03-C227 .02-C241 C470: LASTSEC .06-C47F .07-C48B .08-C490 .09-C4A5 C123: LENTAB D066: LWTBL 0025: MOTIM C7F6: MOTON .01-C800 .02-C805 .03-C80E C6AE: MOTOR0 .01-C6C6 C0AC: MOVTAB .01-C0AE 004E: NACK CC6A: NDVN .01-CC8A .02-CC9C .03-CCA1 C0F8: NEG .01-C113 FFF9: NMI C120: NSIDE1 002C: NUM C4EE: NUMSEC .00-C4F0 .01-C4FB .02-C500 .03-C507 .04-C519 .05-C522 CC5B: OFFD 0024: OFFDEL 4300: OR 4081: PACTL 0248: PBAUD 4083: PBCTL C16A: PBYTE 0230: PBYTHI 0234: PBYTLO 0214: PCNTAB 024C: PHD 0258: PMAXHI 0254: PMAXLO 022C: PMF 0250: PMT D048: POKEY 0238: PONLIN C7BC: POP 4080: PORTA 4082: PORTB 0220: PSEKHI 0224: PSEKLO 0228: PSIDE 021C: PSTEPR 001C: PSUMME 0218: PTRACK C989: PTSEC .00-C990 .01-C9A3 .03-C9BF .04-C9D3 .02-C9D6 D026: PUTA1 D025: PUTBYTE CD91: QQQQQ C068: RAMCHK .01-C06D .02-C071 C056: RAMSET .01-C05B .02-C05D C07E: RAMTST 0017: RB1 0027: RB2 0037: RB3 0047: RB4 0057: RB5 0067: RB6 0077: RB7 0007: RBO 0270: RDFLAG CFA4: RDQUIT CDAC: RDRAM C9D9: RDSEC .00-C9E0 .01-C9F8 .02-CA05 .03-CA1C .04-CA1F C4E2: READID 002B: REC C77F: RECV .01-C799 .02-C7A6 .03-C7AB CE68: REL01 CE6F: REL02 CE78: REL03 CE81: REL04 CE8E: REL05 CEB5: REL06 CEE1: REL07 CEFD: REL08 CF02: REL09 CF0A: REL10 CF17: REL11 CF32: REL12 CF41: REL13 CF5A: REL14 CF66: REL15 CF79: REL16 CF8B: REL17 CFA1: REL18 CFAB: REL19 CFAE: REL20 CFF7: REL21 C2A6: RESET .01-C2AC .02-C2BE .03-C2C0 .31-C2CB .32-C2CE .33-C2D5 .13-C2FC .14-C310 .15-C31C .16-C331 .17-C33D .18-C34C .19-C3A3 C17C: RESULTS .01-C19C C014: ROMTST .01-C026 .02-C031 .03-C045 .04-C04C .99-C04E CD18: RPERC .01-CD1D 4000: RRAM C53D: RSEC .04-C561 .05-C563 .07-C578 .06-C580 CA30: RSECRAM CDE6: RSIOD .01-CE06 .02-CE2B .03-CE31 .04-CE4B .05-CE53 .06-CE54 CDC8: RSIOL 4084: RTIMID 003D: RTIMIDZ 408C: RTIMIE C94B: RWMEM .01-C95E .02-C961 .03-C96B .04-C973 0087: SB0 0097: SB1 00A7: SB2 00B7: SB3 00C7: SB4 00D7: SB5 00E7: SB6 00F7: SB7 C140: SBFEND C4D3: SBTBF C0DD: SCHLEIF C4AE: SE01BF .01-C4C8 CF2D: SE1 CF3F: SE2 CF50: SE3 C12A: SECBFL 0700: SECBUF C25D: SEEK C259: SEEK1 C277: SEEKX CF2B: SEND1 CF5D: SEO1 C648: SETSKEW .00-C651 .01-C658 .02-C660 .03-C66F .04-C67C .05-C692 .06-C693 .07-C69D .08-C6AC CF93: SETTI1 C04F: SETX CF4D: SEWL C0D2: SHIFT CE67: SIO2 CE91: SIO21 CE93: SIO21CL CE9C: SIO3 0600: SIOBUF CE74: SIOCL 4101: SIOCMD 4100: SIODAT C72E: SIOGET .01-C73A C742: SIOPUT .01-C746 .02-C755 4101: SIOST 0274: SKEW 0299: SKEWPT 0300: SKWADR 0298: SKWSEC CCF0: SLOW .01-CD01 C1B1: SPEC .01-C1BD .02-C1D1 .03-C1DE .04-C1EB CB43: SRDST .01-CB60 C138: SSECBF C14E: SSIOBF 025C: ST02EA 0260: ST02EB 0264: ST02EC 0268: ST02ED 0204: ST0TAB 0208: ST1TAB 020C: ST2TAB 0210: ST3TAB 0100: STACK CA90: STATS .01-CABA .02-CAC5 .03-CAC9 .04-CAEE 0022: STATUS C253: STEPIN C257: STEPOUT 0030: STM CFCF: STOU2 CFC9: STOUT CFC7: STOUTX0 4094: T0001D 409C: T0001E 4095: T0008D 409D: T0008E 4096: T0064D 409E: T0064E 4097: T1024D 409F: T1024E C244: TR00 CE59: USIOA D06E: USIOE CDE4: USIOL C817: WAITCMD .03-C822 .01-C846 .04-C860 CD30: WPERC .00-CD3A .01-CD47 .04-CD64 .02-CD6F .03-CD8E C60F: WRID .01-C616 .02-C618 .03-C62E CCC2: WRPE .01-CCCF .02-CCD5 .03-CCDB C989: WRSEC C583: WSEC .01-C5A7 .02-C5A9 .03-C5BE .04-C5C6 CDA4: XERR CDA6: XIT C7CB: XMIT .01-C7D3 .02-C7E2 C278: XMTCMD .01-C299 .02-C2A3 CD9E: XRD CDA1: XWOK C531: Y40 000A: ZSP Edit>