home *** CD-ROM | disk | FTP | other *** search
-
- COMMODORE 128 INPUT/OUTPUT ASSIGNMENTS
-
-
- Differences Between C64 and C128
-
- D500-D50B MMU
- D600-D601 VDC
- FF00-FF05 Preconfiguration Registers
-
-
-
- HEX DECIMAL BITS DESCRIPTION
-
- 8502 I/O Registers
-
- C128 mode:
-
- 0000 x 0 1 0 1 1 1 1
- 0001 x Caps Motor Sense Write HiRes LoRes Color
-
-
- C64 mode:
-
- 0000 0 7-0 MOS 8502 Data Direction
- Register (xx101111)
- Bit= 1: Output, Bit=0:
- Input, x=Don't Care
-
- 0001 1 MOS 8502 Micro-Processor On-Chip I/O Port
- 0 /LORAM Signal (0=Switch BASIC ROM Out)
- 1 /HIRAM Signal (0=Switch Kernal ROM Out)
- 2 /CHAREN Signal (O=Swith Char. ROM In)
- 3 Cassette Data Output Line
- 4 Cassette Switch Sense: 1 = Switch Closed
- 5 Cassette Motor Control
- O = ON, 1 = OFF
- 6-7 Undefined
-
-
-
- D000-D02E 53248-54271 MOS 6566 VIDEO INTERFACE CONTROLLER (VIC)
-
- D000 53248 Sprite O X Pos
- D001 53249 Sprite O Y Pos
- D002 53250 Sprite 1 X Pos
- D003 53251 Sprite 1 Y Pos
- D004 53252 Sprite 2 X Pos
- D005 53253 Sprite 2 Y Pos
- D006 53254 Sprite 3 X Pos
- D007 53255 Sprite 3 Y Pos
- D008 53256 Sprite 4 X Pos
- D009 53257 Sprite 4 Y Pos
- D00A 53258 Sprite 5 X Pos
- D00B 53259 Sprite 5 Y Pos
- D00C 53260 Sprite 6 X Pos
- D00D 53261 Sprite 6 Y Pos
- D00E 53262 Sprite 7 X Pos
- D00F 53263 Sprite 7 Y Pos
- D010 53264 Sprites 0-7 X Pos (msb of X coord.)
-
- D011 53265 VIC Control Register
- 7 Raster Compare: (Bit 8) See 53266
- 6 Extended Color Text Mode 1 = Enable
- 5 Bit Map Mode. 1 = Enable
- 4 Blank Screen to Border Color: O = Blank
- 3 Select 24/25 Row Text Display: 1 = 25 Rows
- 2-0 Smooth Scroll to Y Dot-Position (0-7)
-
- D012 53266 Read Raster / Write Raster Value for Compare IRQ
- D013 53267 Light-Pen Latch X Pos
- D014 53268 Light-Pen Latch Y Pos
- D015 53269 Sprite display Enable: 1 = Enable
-
- D016 53270 VIC Control Register
- 7-6 Unused
- 5 ALWAYS SET THIS BIT TO 0 !
- 4 Multi-Color Mode: 1 = Enable (Text or Bit-Map)
- 3 Select 38/40 Column Text Display: 1 = 40 Cols
- 2-0 Smooth Scroll to X Pos
-
- D017 53271 Sprites O-7 Expand 2x Vertical (Y)
-
- D018 53272 VIC Memory Control Register
- 7-4 Video Matrix Base Address (inside VIC)
- 3-1 Character Dot-Data Base Address (inside VIC)
- 0 Select upper/lower Character Set
-
- D019 53273 VIC Interrupt Flag Register (Bit = 1: IRQ Occurred)
- 7 Set on Any Enabled VIC IRQ Condition
- 3 Light-Pen Triggered IRQ Flag
- 2 Sprite to Sprite Collision IRQ Flag
- 1 Sprite to Background Collision IRQ Flag
- 0 Raster Compare IRQ Flag
-
- D01A 53274 IRQ Mask Register: 1 = Interrupt Enabled
- D01B 53275 Sprite to Background Display Priority: 1 = Sprite
- D01C 53276 Sprites O-7 Multi-Color Mode Select: 1 = M.C.M.
- D01D 53277 Sprites 0-7 Expand 2x Horizontal (X)
-
- D01E 53278 Sprite to Sprite Collision Detect
- D01F 53279 Sprite to Background Collision Detect
- D020 53280 Border Color
- D021 53281 Background Color O
- D022 53282 Background Color 1
- D023 53283 Background Color 2
- D024 53284 Background Color 3
- D025 53285 Sprite Multi-Color Register 0
- D026 53286 Sprite Multi-Color Register 1
-
- D027 53287 Sprite O Color
- D028 53288 Sprite 1 Color
- D029 53289 Sprite 2 Color
- D02A 53290 Sprite 3 Color
- D02B 53291 Sprite 4 Color
- D02C 53292 Sprite 5 Color
- D02D 53293 Sprite 6 Color
- D02E 53294 Sprite 7 Color
-
- D02F 53295 7-3 Unused
- 2-0 Additional Keyboard Columns
-
- D030 53296 7-2 Unused
- 1 Test
- 0 2 MHz Mode
-
-
-
- D400-D4FF 54272-52527 MOS 6581 SOUND INTERFACE DEVICE (SID)
-
- D400 54272 Voice 1: Frequency Control - Low-Byte
- D401 54273 Voice 1: Frequency Control - High-Byte
- D402 54274 Voice 1: Pulse Waveform Width - Low-Byte
- D403 54275 7-4 Unused
- 3-0 Voice 1: Pulse Waveform Width - High-Nybble
- D404 54276 Voice 1: Control Register
- 7 Select Random Noise Waveform, 1 = On
- 6 Select Pulse Waveform, 1 = On
- 5 Select Sawtooth Waveform, 1 = On
- 4 Select Triangle Waveform, 1 = On
- 3 Test Bit: 1 = Disable Oscillator 1
- 2 Ring Modulate Osc. 1 with Osc. 3 Output, 1 = On
- 1 Synchronize Osc. 1 with Osc. 3 Frequency, 1 = On
- 0 Gate Bit: 1 = Start Att/Dec/Sus, 0 = Start Release
-
- D405 54277 Envelope Generator 1: Attack / Decay Cycle Control
- 7-4 Select Attack Cycle Duration: O-15
- 3-0 Select Decay Cycle Duration: 0-15
-
- D406 54278 Envelope Generator 1: Sustain / Release Cycle Control
- 7-4 Select Sustain Cycle Duration: O-15
- 3-0 Select Release Cycle Duration: O-15
-
- D407 54279 Voice 2: Frequency Control - Low-Byte
- D408 54280 Voice 2: Frequency Control - High-Byte
- D409 54281 Voice 2: Pulse Waveform Width - Low-Byte
-
- D40A 54282 7-4 Unused
- 3-0 Voice 2: Pulse Waveform Width - High-Nybble
-
- D40B 54283 Voice 2: Control Register
- 7 Select Random Noise Waveform, 1 = On
- 6 Select Pulse Waveform, 1 = On
- 5 Select Sawtooth Waveform, 1 = On
- 4 Select Triangle Waveform, 1 = On
- 3 Test Bit: 1 = Disable Oscillator 1
- 2 Ring Modulate Osc. 2 with Osc. 1 Output, 1 = On
- 1 Synchronize Osc. 2 with Osc. 1 Frequency, 1 = On
- 0 Gate Bit: 1 = Start Att/Dec/Sus, 0 = Start Release
-
- D40C 54284 Envelope Generator 2: Attack / Decay Cycle Control
- 7-4 Select Attack Cycle Duration: O-15
- 3-0 Select Decay Cycle Duration: 0-15
-
- D40D 54285 Envelope Generator 2: Sustain / Release Cycle Control
- 7-4 Select Sustain Cycle Duration: O-15
- 3-0 Select Release Cycle Duration: O-15
-
- D40E 54286 Voice 3: Frequency Control - Low-Byte
- D40F 54287 Voice 3: Frequency Control - High-Byte
- D410 54288 Voice 3: Pulse Waveform Width - Low-Byte
- D411 54289 7-4 Unused
- 3-0 Voice 3: Pulse Waveform Width - High-Nybble
- D412 54290 Voice 3: Control Register
- 7 Select Random Noise Waveform, 1 = On
- 6 Select Pulse Waveform, 1 = On
- 5 Select Sawtooth Waveform, 1 = On
- 4 Select Triangle Waveform, 1 = On
- 3 Test Bit: 1 = Disable Oscillator 1
- 2 Ring Modulate Osc. 3 with Osc. 2 Output, 1 = On
- 1 Synchronize Osc. 3 with Osc. 2 Frequency, 1 = On
- 0 Gate Bit: 1 = Start Att/Dec/Sus, 0 = Start Release
-
- D413 54291 Envelope Generator 3: Attac/Decay Cycle Control
- 7-4 Select Attack Cycle Duration: O-15
- 3-0 Select Decay Cycle Duration: 0-15
-
- D414 54285 Envelope Generator 3: Sustain / Release Cycle Control
- 7-4 Select Sustain Cycle Duration: O-15
- 3-0 Select Release Cycle Duration: O-15
-
-
- D415 54293 Filter Cutoff Frequency: Low-Nybble (Bits 2-O)
- D416 54294 Filter Cutoff Frequency: High-Byte
- D417 54295 Filter Resonance Control / Voice Input Control
- 7-4 Select Filter Resonance: 0-15
- 3 Filter External Input: 1 = Yes, 0 = No
- 2 Filter Voice 3 Output: 1 = Yes, 0 = No
- Filter Voice 2 Output: 1 = Yes, 0 = No
- 0 Filter Voice 1 Output: 1 = Yes, 0 = No
-
- D418 54296 Select Filter Mode and Volume
- 7 Cut-Off Voice 3 Output: 1 = Off, O = On
-
- 6 Select Filter High-Pass Mode: 1 = On
- 5 Select Filter Band-Pass Mode: 1 = On
- 4 Select Filter Low-Pass Mode: 1 = On
- 3-0 Select Output Volume: 0-15
-
- D419 54297 Analog/Digital Converter: Game Paddle 1 (O-255)
- D41A 54298 Analog/Digital Converter Game Paddle 2 (O-255)
- D41B 54299 Oscillator 3 Random Number Generator
- D41C 54230 Envelope Generator 3 Output
-
-
-
- MMU $D500 and $FF00
-
- C128 MMU 8722
-
-
- D500 Configuration Register (CR)
- 7-6 RAM-select 0-3
- 5-4 High RAM/ROM
- 00 System ROM (Kernel, Edit)
- 01 Internal Function ROM
- 10 External Function ROM
- 11 RAM
- NOTE: I/O overrides all of these.
-
- 3-2 Mid RAM/ROM
- 00 System ROM (Basic HI)
- 01 Internal Function ROM
- 10 External Function ROM
- 11 RAM
-
- 1 Lo RAM
- 0 System ROM (Basic LO)
- 1 RAM
-
- 0 C.GEN
- 0 I/O
- 1 ROM/RAM
-
-
- D501 Preconfiguration Registers
- D502
- D503
- D504
-
- D505 7 40/80 read only
- 6 C64 Mode (0 = C128)
- 5 EXROM: C64 (1 = C128) read only
- 4 GAME: C64 (1 = C128) read only
- 3 FSDIR: Fast Disk
- 2-1 -
- 0 Z80/8502
-
- D506 RAM Configuration Register (RCR)
-
- 7-6 Video-Bank
- 5-4 -
- 3 Shared RAM Hi
- 2 Shared RAM Lo
- 1-0 Shared RAM Size: 00 = 1K, 01 = 4K, 10 = 8K, 11 = 16K
-
- D507 Zero Page Pointer Lo
-
- 7-0 A15-A8
-
- D508 Zero Page Pointer Hi
-
- 7-4 -
- 3-2 A19-A18 (Used in 1MB System)
- 1-0 A17-A16 (256K System)
-
- D509 Stack Page Pointer Lo
- D50A Stack Page Pointer Hi
-
- D50B MMU Version Register
-
- 7-4 Bank Version (2 = 128K)
- 3-0 MMU Version
-
-
- Default Memory Configurations
-
- Bank FF00 Free RAM Space RAM I/O ROM
-
- 0 3f 0000-ffff 0
- 1 7f 0000-ffff 1
- 2 bf 0000-ffff 2
- 3 ff 0000-ffff 3
-
- 4 16 0000-7fff 0 I/O Int
- 5 56 0000-7fff 1 I/O Int
- 6 96 0000-7fff 2 I/O Int
- 7 d6 0000-7fff 3 I/O Int
-
- 8 2a 0000-7fff 0 I/O Ext
- 9 6a 0000-7fff 1 I/O Ext
- 10 aa 0000-7fff 2 I/O Ext
- 11 ea 0000-7fff 3 I/O Ext
-
- 12 06 0000-7fff 0 I/O Kernel Int_Rom_Low
- 13 0a 0000-7fff 0 I/O Kernel Ext_Rom_Low
- 14 01 0000-3fff 0 Char Kernel Basic
- 15 00 0000-3fff 0 I/O Kernel Basic
-
-
-
- VDC $D600
-
- This register map is from C-Hacking Magazine.
-
-
- ----------------------------------
- | VDC 8563 Register Definitions |
- ----------------------------------
-
- Reg 7 6 5 4 3 2 1 0 Description Notes
- ------ ---- ---- ---- ---- ---- ---- ---- ---- ------------------------ -----
- 0 HzT7 HzT6 HzT5 HzT4 HzT3 HzT2 HzT1 HzT0 Horizontal Total ^1
- 1 HzD7 HzD6 HzD5 HzD4 HzD3 HzD2 HzD1 HzD0 Horizontal Displayed ^1
- 2 HzS7 HzS6 HzS5 HzS4 HzS3 HzS2 HzS2 HzS0 Horizontal Sync Position ^1
- 3 VSW3 VSW2 VSW1 VSW0 HSW3 HSW2 HSW1 HSW0 Vert/Horiz. Sync Width ^2
- 4 VeT7 VeT6 VeT5 VeT4 VeT3 VeT2 VeT1 VeT0 Vertical Total ^3
- 5 .... .... .... VeA4 VeA3 VeA2 VeA1 VeA0 Vertical Total Fine Adju ^3
- 6 VeD7 VeD6 VeD5 VeD4 VeD3 VeD2 VeD1 VeD0 Vertical Displayed ^3
- 7 VeS7 VeS6 VeS5 VeS4 VeS3 VeS2 VeS1 VeS0 Vertical Sync Position ^2
- 8 .... .... .... .... .... .... Ilc1 Ilc0 Interlace Mode ^4
- 9 .... .... .... CTV4 CTV3 CTV2 CTV1 CTV0 Character Total Vertical ^5
- 0a 10 .... CrM1 CrM0 Css4 Css3 Css2 Css1 Css0 Cursor Mode/ Start Scan ^6
- 0b 11 .... .... .... Ces4 Ces3 Ces2 Ces1 Ces0 Cursor End Scan ^6
- 0c 12 Ds15 Ds14 Ds13 Ds12 Ds11 Ds10 Ds09 Ds08 Display Start Adrs (Hi) ^7
- 0d 13 Ds07 Ds06 Ds05 Ds04 Ds03 Ds02 Ds01 Ds00 Display Start Adrs (Lo) ^7
- 0e 14 Cp15 Cp14 Cp13 Cp12 Cp11 Cp10 Cp09 Cp08 Cursor Position (Hi) ^7
- 0f 15 Cp07 Cp06 Cp05 Cp04 Cp03 Cp02 Cp01 Cp00 Cursor Position (Lo) ^7
- 10 16 LpV7 LpV6 LpV5 LpV4 LpV3 LpV2 LpV1 LpV0 Light Pen Veritcal ^8
- 11 17 LpH7 LpH6 LpH5 LpH4 LpH3 LpH2 LpH1 LpH0 Light Pen Horizontal ^8
- 12 18 Ua15 Ua14 Ua13 Ua12 Ua11 Ua10 Ua09 Ua08 Update Address (Hi) ^9
- 13 19 Ua07 Ua06 Ua05 Ua04 Ua03 Ua02 Ua01 Ua00 Update Address (Lo) ^9
- 14 20 At15 At14 At13 At12 At11 At10 At09 At08 Attribute Start Adrs (Hi) ^7
- 15 21 At07 At06 At05 At04 At03 At02 At01 At00 Attribute Start Adrs (Lo) ^7
- 16 22 HcP3 HcP2 HcP1 HcP0 IcS3 IcS2 IcS1 IcS0 Hz Chr Pxl Ttl/IChar Spc ^A
- 17 23 .... .... .... VcP4 VcP3 VcP2 VcP1 VcP0 Vert. Character Pxl Spc ^5
- 18 24 BlkM RvsS Vss5 Vss4 Vss3 Vss2 Vss1 Vss0 Block/Rvs Scr/V. Scroll ^9^B^C
- 19 25 Text Atri Semi Dble Hss3 Hss2 Hss1 Hss0 Diff. Mode Sw/H. Scroll ^D,^E
- 1a 26 Fgd3 Fgd2 Fgd1 Fgd0 Bgd3 Bgd2 Bgd1 Bgd0 ForeGround/BackGround Col ^F
- 1b 27 Rin7 Rin6 Rin5 Rin4 Rin3 Rin2 Rin1 Rin0 Row/Adrs. Increment ^G
- 1c 28 CSa2 CSa1 CSa0 RamT .... .... .... .... Character Set Addrs/Ram ^H,^I
- 1d 29 .... .... .... UdL4 UdL3 UdL2 UdL1 UdL0 Underline Scan Line ^6
- 1e 30 WdC7 WdC6 WdC5 WdC4 WdC3 WdC2 WdC1 WdC0 Word Count (-1) ^9
- 1f 31 Dta7 Dta6 Dta5 Dta4 Dta3 Dta2 Dta1 Dta0 Data ^9
- 20 32 BlkF BlkE BlkD BlkC BlkB BlkA Blk9 Blk8 Block Copy Source (hi) ^9
- 21 33 Blk7 Blk6 Blk5 Blk4 Blk3 Blk2 Blk1 Blk0 Block Copy Source (lo) ^9
- 22 34 DeB7 DeB6 DeB5 DeB4 DeB3 DeB2 DeB1 DeB0 Display Enable Begin ^J
- 23 35 DeE7 DeE6 DeE5 DeE4 DeE3 DeE2 DeE1 DeE0 Display Enable End ^J
- 24 36 .... .... .... .... Drm3 Drm2 Drm1 Drm0 DRAM Refresh Rate ^K
-
-
-
-
-
- D800-DBFF 55296-56319 Color RAM (Nybbles)
-
- DC00-DCFF 56320-56575 MOS 6526 Complex Interface Adapter (CIA) #1
-
- DC00 56320 Data Port A (Keyboard, Joystick, Paddles, Light-Pen)
-
- 7-0 Write Keyboard Column Values for Keyboard Scan
- 7-6 Read Paddles on Port A / B (01 = Port A, 10 = Port B)
- 4 Joystick A Fire Button: 1 = Fire
- 3-2 Paddle Fire Buttons
- 3-0 Joystick A Direction (0-15)
-
- DC01 56321 Data Port B (Keyboard, Joystick, Paddles): Game Port 1
- 7-0 Read Keyboard Row Values for Keyboard Scan
-
- 7 Timer B Toggle/Pulse Output
- 6 Timer A: Toggle/Pulse Output
-
- 4 Joystick 1 Fire Button: 1 = Fire
- 3-2 Paddle Fire Buttons
- 3-0 Joystick 1 Direction
-
- DC02 56322 Data Direction Register - Port A (56320)
- DC03 56323 Data Direction Register - Port B (56321)
- DC04 56324 Timer A: Low-Byte
- DC05 56325 Timer A: High-Byte
- DC06 56326 Timer B: Low-Byte
- DC07 56327 Timer B: High-Byte
-
- DC08 56328 Time-of-Day Clock: 1/10 Seconds
- DC09 56329 Time-of-Day Clock: Seconds
- DC0A 56330 Time-of-Day Clock: Minutes
- DC0B 56331 Time-of-Day Clock: Hours + AM/PM Flag (Bit 7)
-
- DC0C 56332 Synchronous Serial I/O Data Buffer
- DC0D 56333 CIA Interrupt Control Register (Read IRQs/Write Mask)
-
- 7 IRQ Flag (1 = IRQ Occurred) / Set-Clear Flag
- 4 FLAG1 IRQ (Cassette Read / Serial Bus SRQ Input)
- 3 Serial Port Interrupt
- 2 Time-of-Day Clock Alarm Interrupt
- 1 Timer B Interrupt
- 0 Timer A Interrupt
-
- DC0E 56334 CIA Control Register A
- 7 Time-of-Day Clock Frequency: 1 = 50 Hz, 0 = 60 Hz
- 6 Serial Port I/O Mode Output, 0 = Input
- 5 Timer A Counts: 1 = CNT Signals, 0 = System 02 Clock
-
- 4 Force Load Timer A: 1 = Yes
- 3 Timer A Run Mode: 1 = One-Shot, 0 = Continuous
- 2 Timer A Output Mode to PB6: 1 = Toggle, 0 = Pulse
- 1 Timer A Output on PB6: 1 = Yes, 0 = No
- 0 Start/Stop Timer A: 1 = Start, 0 = Stop
-
- DC0F 56335 CIA Control Register B
- 7 Set Alarm/TOD-Clock: 1 = Alarm, 0 = Clock
- 6-5 Timer B Mode Select:
- 00 = Count System 02 Clock Pulses
- 01 = Count Positive CNT Transitions
- 10 = Count Timer A Underflow Pulses
- 11 = Count Timer A Underflows While CNT Positive
- 4-0 Same as CIA Control Reg. A - for Timer B
-
- DD00-DDFF 56576-56831 MOS 6526 Complex Interface Adapter (CIA) #2
-
- DD00 56576 Data Port A (Serial Bus, RS-232, VIC Memory Control)
- 7 Serial Bus Data Input
- 6 Serial Bus Clock Pulse Input
- 5 Serial Bus Data Output
- 4 Serial Bus Clock Pulse Output
- 3 Serial Bus ATN Signal Output
- 2 RS-232 Data Output (User Port)
- 1-O VIC Chip System Memory Bank Select (Default = 11)
-
- DD01 56577 Data Port B (User Port, RS-232)
- 7 User / RS-232 Data Set Ready
- 6 User / RS-232 Clear to Send
- 5 User
- 4 User / RS-232 Carrier Detect
- 3 User / RS-232 Ring Indicator
- 2 User / RS-232 Data Terminal Ready
- 1 User / RS-232 Request to Send
- 0 User / RS-232 Received Data
-
- DD02 56578 Data Direction Register - Port A
- DD03 56579 Data Direction Register - Port B
- DD04 56580 Timer A: Low-Byte
- DD05 56581 Timer A: High-Byte
- DD06 56582 Timer B: Low-Byte
- DD07 56583 Timer B: High-Byte
-
- DD08 56584 Time-of-Day Clock: 1/10 Seconds
- DD09 56585 Time-of-Day Clock: Seconds
- DD0A 56586 Time-of-Day Clock: Minutes
- DD0B 56587 Time-of-Day Clock: Hours + AM/PM Flag (Bit 7)
- DD0C 56588 Synchronous Serial I/O Data Buffer
- DD0D 56589 CIA Interrupt Control Register (Read NMls/Write Mask)
- 7 NMI Flag (1 = NMI Occurred) / Set-Clear Flag
- 4 FLAG1 NMI (User/RS-232 Received Data Input)
- 3 Serial Port Interrupt
-
- 1 Timer B Interrupt
- 0 Timer A Interrupt
-
- DD0E 56590 CIA Control Register A
-
- 7 Time-of-Day Clock Frequency: 1 = 50 Hz, 0 = 60 Hz
- 6 Serial Port I/O Mode Output, 0 = Input
- 5 Timer A Counts: 1 = CNT Signals, 0 = System 02 Clock
- 4 Force Load Timer A: 1 = Yes
- 3 Timer A Run Mode: 1 = One-Shot, 0 = Continuous
- 2 Timer A Output Mode to PB6: 1 = Toggle, 0 = Pulse
- 1 Timer A Output on PB6: 1 = Yes, 0 = No
- 0 Start/Stop Timer A: 1 = Start, 0 = Stop
-
- DD0F 56591 CIA Control Register B
- 7 Set Alarm/TOD-Clock: 1 = Alarm, 0 = Clock
- 6-5 Timer B Mode Select:
- 00 = Count System 02 Clock Pulses
- 01 = Count Positive CNT Transitions
- 10 = Count Timer A Underflow Pulses
- 11 = Count Timer A Underflows While CNT Positive
- 4-0 Same as CIA Control Reg. A - for Timer B
-
-
- DEOO-DEFF 56832-57087 Reserved for Future I/O Expansion
- DFOO-DFFF 57088-57343 Reserved for Future I/O Expansion
-
-
- DMA $DF00
-
-
- 8726 DMA Controller for C128 (512K REU)
-
- Note: The 8726 DMA controller for C128 is different from the C64 ones
- in registers 00,01,09 and 0a.
-
- DF00 DMA ST STATUS
- 7 Interrupt Pending (1 = Int. waiting)
- 6 End of Block (1 = Transfer complete)
- 5 Fault (1 = Block verify error)
- 4 Size (0 = 128K, 1 = 512K Exp. Memory)
- 3-0 Version
-
- DF01 DMA CMD COMMAND
- 7 Exec
- 6 Reserved (normally 0)
- 5 Load (1 = Enable auto load)
- 4 $FF00 (1 = Disable $FF00 decades)
- 3-2 Reserved (normally 0)
- 1-0 Mode
- 00 = Transfer from internal to external
- 01 = From ext to int
- 10 = Swap
- 11 = Verify
-
- DF02 DMA ADLL HOST ADDRESS LOW
- DF03 DMA ADH HOST ADDRESS HIGH
-
- DF04 DMA LO EXPANSION ADDRESS LOW
- DF05 DMA HI EXPANSION ADDRESS HIGH
- DF06 DMA BNK EXPANSION BANK (bits 2-0 only)
- 7-3 Unused
- 2-0 Expansion Bank number
-
- DF07 DMA DAL TRANSFER LENGTH LOW
- DF08 DMA DAH TRANSFER LENGTH HIGH
-
- DF09 DMA SUM INTERRUPT MASK REGISTER
- 7 Interrupt Enable (1 = Interrupts enabled)
- 6 End of Block mask (1 = Interrupt on end of block)
- 5 Verify Error (1 = Interrupt on verify error)
- 4-0 Unused (normally all set)
-
- DF0A DMA VER VERSION, MAXIMUM MEMORY
- 7-6 Address Control
- 00 = Increment both addresses (default)
- 01 = Fix expansion address
- 10 = Fix C128 address
- 11 = Fix both addresses
- 5-0 Unused (normally all set)
-
-