IRQ-Routine

DAFD: 48        PHA              Prozessor-Register retten
DAFE: 8A        TXA
DAFF: 48        PHA
DB00: 98        TYA
DB01: 48        PHA
DB02: AD 0D 40  LDA $400D        ICR: Interrupt-Ursache holen
DB05: A8        TAY
DB06: 25 76     AND $76          Bus-Modus b3=1: FSM-erlaubt ?
DB08: 29 08     AND #$08         und wenn ja: Byte ueber FSM-empfangen ?
DB0A: F0 06     BEQ $DB12        nein, ==>
DB0C: A5 76     LDA $76
DB0E: 09 20     ORA #$20         FSM-Modus aktivieren
DB10: 85 76     STA $76

Einsprung von $DB0A:

DB12: 98        TYA
DB13: 29 10     AND #$10         ATN aufgetreten ?
DB15: F0 06     BEQ $DB1D        nein, ==>
DB17: A5 76     LDA $76
DB19: 09 01     ORA #$01         Flag fuer ATN merken
DB1B: 85 76     STA $76

Einsprung von $DB15:

DB1D: 98        TYA
DB1E: 29 02     AND #$02         Timer-IRQ aufgetreten ?
DB20: F0 03     BEQ $DB25        nein, ==>
DB22: 20 39 FF  JSR $FF39        Controller-Routine aufrufen

Einsprung von $DB20:

DB25: BA        TSX
DB26: BD 04 01  LDA $0104,X      BRK-Kommando ?
DB29: 29 10     AND #$10
DB2B: F0 03     BEQ $DB30        nein, ==>
DB2D: 20 39 FF  JSR $FF39        Controller-Routine aufrufen

Einsprung von $DB2B:

DB30: 68        PLA              Prozessor-Register zurueckholen
DB31: A8        TAY
DB32: 68        PLA
DB33: AA        TAX
DB34: 68        PLA
DB35: 40        RTI

ROM-Tabellen

U0-Befehle:     Adressen, Befehlsnr., Name,    Drive, Seite

DB36: 11 BB      W $BB11       $00: Read          N0 S0
DB38: FA BA      W $BAFA       $01: Read (n.v.)   N1 S0
DB3A: 01 BC      W $BC01       $02: Write         N0 S0
DB3C: F9 BB      W $BBF9       $03: Write (n.v.)  N1 S0
DB3E: B2 BC      W $BCB2       $04: Inquire Disk  N0 S0
DB40: FA BA      W $BAFA       $05: Inq.D.(n.v.)  N1 S0
DB42: 12 BD      W $BD12       $06: Format        N0
DB44: 12 BD      W $BD12       $07: Format        N1
DB46: FC BD      W $BDFC       $08: (Syntax Error)
DB48: FC BD      W $BDFC       $09: (Syntax Error)
DB4A: 06 BE      W $BE06       $0a: Query Format  N0 S0
DB4C: FA BA      W $BAFA       $0b: Query (n.v.)  N1 S0
DB4E: BB BE      W $BEBB       $0c: Inquire Stat  N0
DB50: FA BA      W $BAFA       $0d: Inq.S.(n.v.)  N1
DB52: F8 BE      W $BEF8       $0e: (Syntax Error)
DB54: F8 BE      W $BEF8       $0f: (Syntax Error)

DB56: 11 BB      W $BB11       $10: Read          N0 S1
DB58: FA BA      W $BAFA       $11: Read (n.v.)   N1 S1
DB5A: 01 BC      W $BC01       $12: Write         N0 S1
DB5C: F9 BB      W $BBF9       $13: Write (n.v.)  N1 S1
DB5E: B2 BC      W $BCB2       $14: Inquire Disk  N0 S1
DB60: FA BA      W $BAFA       $15: Inq.D.(n.v.)  N1 S1
DB62: 12 BD      W $BD12       $16: Format        N0
DB64: 12 BD      W $BD12       $17: Format        N1
DB66: CB 89      W $89CB       $18: (rts)
DB68: CB 89      W $89CB       $19: (rts)
DB6A: 06 BE      W $BE06       $1a: Query Format  N0 S1
DB6C: FA BA      W $BAFA       $1b: Query (n.v.)  N1 S1
DB6E: 02 BF      W $BF02       $1c: Dump Cache    N0
DB70: 02 BF      W $BF02       $1d: Dump Cache    N1
DB72: 3C AA      W $AA3C       $1e: ChgUtl
DB74: D5 B8      W $B8D5       $1f: Fastload

DB76: 06        Anzahl der BAM-Bytes pro Spur
DB77: 04        Position des Disknamens im Verzeichnis-Header

Diskettenkommandos

DB78: 56 49 2F 4D 42 55 50 26  vi/mbup&   [Der sowieso nicht verwendbare
DB80: 43 52 53 4E              crsn        Duplicate-Befehl der 1541 ist
DB84: 09 0C 0F 12 15 18 1B 1E  Lo-Bytes    durch den Partition-Befehl '/'
DB8C: 21 24 27 2A                          ersetzt worden.]
DB90: FF FF FF FF FF FF FF FF  Hi-Bytes
DB98: FF FF FF FF

Bitmuster zur Ueberpruefung des Befehlsformates

b0 : 1: '=' notwendig
b1 : 1: '=' verboten
b2 : 0: ',' nach '=' erlaubt
b3 : 0: '*' nach '=' erlaubt

b4 : immer 0
b5 : immer 1
b6 : 0: ',' vor '=' erlaubt
b7 : 0: '*' vor '=' erlaubt

DB9C: 51        %01010001      Copy
DB9D: DD        %11011101      Rename
DB9E: 1C        %00011100      Scratch
DB9F: 9E        %10011110      New

DBA0: 1C        %00011100      Laden
DBA1: 52 57 41 4D              'RWAM'   Filemodi
DBA5: 44 53 50 55 4C 43        'DSPULC' Filetypen

DBAB: 44 53 50 55 52 43        DSPURC   Filetypen
DBB1: 45 45 52 53 45 42        EERSEB   [senkrecht lesen !]
DBB6: 4C 51 47 52 4C 4D        LQGRLM

DBBD: 00                       z-Flag setzen durch BIT-Befehl

gezieltes Setzen der nv-Flags durch BIT-Befehl

DBBE: 3F 7F BF FF              --, -v, n-, nv

DBC2: 01 FF FF 01 00           Kopfjustage bei Leseproblemen (n.v.)

    Previous Page / Next Page