c128lib Chipset
Various chipset functionalities.
Loading...
Searching...
No Matches
Mmu Namespace Reference

Variables

label CONFIGURATION = $D500
 
label PRECONFIG_A = $D501
 
label PRECONFIG_B = $D502
 
label PRECONFIG_C = $D503
 
label PRECONFIG_D = $D504
 
label MODE_CONFIG = $D505
 
label RAM_CONFIG = $D506
 
label PAGE0_PAGE_POINTER = $D507
 
label PAGE0_BLOCK_POINTER = $D508
 
label PAGE1_PAGE_POINTER = $D509
 
label PAGE1_BLOCK_POINTER = $D50A
 
label MMU_VERSION = $D50B
 
label LOAD_CONFIGURATION = $FF00
 
label LOAD_PRECONFIG_A = $FF01
 
label LOAD_PRECONFIG_B = $FF02
 
label LOAD_PRECONFIG_C = $FF03
 
label LOAD_PRECONFIG_D = $FF04
 
label IO_ROM = %00000000
 
label IO_RAM = %00000001
 
label ROM_LOW_ROM = %00000000
 
label ROM_LOW_RAM = %00000010
 
label ROM_MID_ROM = %00000000
 
label ROM_MID_INT = %00000100
 
label ROM_MID_EXT = %00001000
 
label ROM_MID_RAM = %00001100
 
label ROM_HI = %00000000
 
label ROM_HI_INT = %00010000
 
label ROM_HI_EXT = %00100000
 
label ROM_HI_RAM = %00110000
 
label RAM0 = %00000000
 
label RAM1 = %01000000
 
label CPU_Z80 = %00000000
 
label CPU_8502 = %00000001
 
label FASTSERIALINPUT = %00000000
 
label FASTSERIALOUTPUT = %00001000
 
label GAME_LOW = %00000000
 
label GAME_HI = %00010000
 
label EXROM_LOW = %00000000
 
label EXROM_HI = %00100000
 
label KERNAL_128 = %00000000
 
label KERNAL_64 = %01000000
 
label COLS_80 = %00000000
 
label COLS_40 = %10000000
 
label COMMON_RAM_1K = %00000000
 
label COMMON_RAM_4K = %00000001
 
label COMMON_RAM_8K = %00000010
 
label COMMON_RAM_16K = %00000011
 
label COMMON_RAM_UNUSED = %00000000
 
label COMMON_RAM_BOTTOM = %00000100
 
label COMMON_RAM_TOP = %00001000
 
label COMMON_RAM_BOTH = COMMON_RAM_BOTTOM | COMMON_RAM_TOP
 
label VIC_BANK_ON_RAM_0 = %00000000
 
label VIC_BANK_ON_RAM_1 = %01000000
 
label VIC_BANK_ON_RAM_2 = %10000000
 
label VIC_BANK_ON_RAM_3 = %11000000
 

Variable Documentation

◆ CONFIGURATION

label CONFIGURATION = $D500

◆ PRECONFIG_A

label PRECONFIG_A = $D501

Preconfiguration register A https://c128lib.github.io/Reference/D500#D501

◆ PRECONFIG_B

label PRECONFIG_B = $D502

Preconfiguration register B https://c128lib.github.io/Reference/D500#D502

◆ PRECONFIG_C

label PRECONFIG_C = $D503

Preconfiguration register C https://c128lib.github.io/Reference/D500#D503

◆ PRECONFIG_D

label PRECONFIG_D = $D504

Preconfiguration register D https://c128lib.github.io/Reference/D500#D504

◆ MODE_CONFIG

label MODE_CONFIG = $D505

Mode configuration register https://c128lib.github.io/Reference/D500#D505

◆ RAM_CONFIG

label RAM_CONFIG = $D506

◆ PAGE0_PAGE_POINTER

label PAGE0_PAGE_POINTER = $D507

◆ PAGE0_BLOCK_POINTER

label PAGE0_BLOCK_POINTER = $D508

◆ PAGE1_PAGE_POINTER

label PAGE1_PAGE_POINTER = $D509

◆ PAGE1_BLOCK_POINTER

label PAGE1_BLOCK_POINTER = $D50A

◆ MMU_VERSION

label MMU_VERSION = $D50B

◆ LOAD_CONFIGURATION

label LOAD_CONFIGURATION = $FF00

◆ LOAD_PRECONFIG_A

label LOAD_PRECONFIG_A = $FF01

Load configuration register A https://c128lib.github.io/Reference/FF00#FF01

◆ LOAD_PRECONFIG_B

label LOAD_PRECONFIG_B = $FF02

Load configuration register B https://c128lib.github.io/Reference/FF00#FF02

◆ LOAD_PRECONFIG_C

label LOAD_PRECONFIG_C = $FF03

Load configuration register C https://c128lib.github.io/Reference/FF00#FF03

◆ LOAD_PRECONFIG_D

label LOAD_PRECONFIG_D = $FF04

Load configuration register D https://c128lib.github.io/Reference/FF00#FF04

◆ IO_ROM

label IO_ROM = %00000000

Mask for configuration bit 0 to set ROM active on address $d000-$dfff

◆ IO_RAM

label IO_RAM = %00000001

Mask for configuration bit 0 to set RAM active on address $d000-$dfff

◆ ROM_LOW_ROM

label ROM_LOW_ROM = %00000000

Mask for configuration bit 1 to set ROM active on address $4000-$7fff (Basic low rom)

◆ ROM_LOW_RAM

label ROM_LOW_RAM = %00000010

Mask for configuration bit 1 to set RAM active on address $4000-$7fff (Basic low rom)

◆ ROM_MID_ROM

label ROM_MID_ROM = %00000000

Mask for configuration bits 2-3 to set ROM active on upper portion of BASIC ROM ($8000-$AFFF), plus monitor ROM ($B000-$BFFF)

◆ ROM_MID_INT

label ROM_MID_INT = %00000100

Mask for configuration bits 2-3 to set internal function ROM: refers to ROM in the free ROM socket on the 128 circuit board

◆ ROM_MID_EXT

label ROM_MID_EXT = %00001000

Mask for configuration bits 2-3 to set xxternal function ROM: refers to ROM in a cartridge plugged into the expansion port.

◆ ROM_MID_RAM

label ROM_MID_RAM = %00001100

Mask for configuration bits 2-3 to set RAM active on upper portion of BASIC ROM ($8000-$AFFF), plus monitor ROM ($B000-$BFFF)

◆ ROM_HI

label ROM_HI = %00000000

Mask for configuration bits 4-5 to set ROM active on screen editor ROM ($c000-$cfff), character ROM ($d000-$Ddfff), Kemal ROM ($e000-$ffff)

◆ ROM_HI_INT

label ROM_HI_INT = %00010000

Mask for configuration bits 4-5 to set internal function ROM: refers to ROM in the free ROM socket on the 128 circuit board.

◆ ROM_HI_EXT

label ROM_HI_EXT = %00100000

Mask for configuration bits 4-5 to set external function ROM: refers to ROM in a cartridge plugged into the expansion port.

◆ ROM_HI_RAM

label ROM_HI_RAM = %00110000

Mask for configuration bits 4-5 to set RAM active on screen editor ROM ($c000-$cfff), character ROM ($d000-$Ddfff), Kemal ROM ($e000-$ffff)

◆ RAM0

label RAM0 = %00000000

Mask for configuration bit 6 to set block 0 active

◆ RAM1

label RAM1 = %01000000

Mask for configuration bit 6 to set block 1 active

◆ CPU_Z80

label CPU_Z80 = %00000000

Mask for bit 0 for selecting Z80 cpu to run

◆ CPU_8502

label CPU_8502 = %00000001

Mask for bit 0 for selecting 8502 cpu to run

◆ FASTSERIALINPUT

label FASTSERIALINPUT = %00000000

Mask for bit 3 for selecting fast serial input

◆ FASTSERIALOUTPUT

label FASTSERIALOUTPUT = %00001000

Mask for bit 3 for selecting fast serial output

◆ GAME_LOW

label GAME_LOW = %00000000

Mask for bit 4 for GAME pin low

◆ GAME_HI

label GAME_HI = %00010000

Mask for bit 4 for GAME pin high

◆ EXROM_LOW

label EXROM_LOW = %00000000

Mask for bit 5 for EXROM pin low

◆ EXROM_HI

label EXROM_HI = %00100000

Mask for bit 5 for EXROM pin high

◆ KERNAL_128

label KERNAL_128 = %00000000

Mask for bit 6 for selecting 128 Kernal rom

◆ KERNAL_64

label KERNAL_64 = %01000000

Mask for bit 6 for selecting 64 Kernal rom

◆ COLS_80

label COLS_80 = %00000000

Mask for bit 7 for selecting 40/80 keyboard key switch status to 80 col

◆ COLS_40

label COLS_40 = %10000000

Mask for bit 7 for selecting 40/80 keyboard key switch status to 40 col

◆ COMMON_RAM_1K

label COMMON_RAM_1K = %00000000

Mask for bits 0-1 to set 1k of common ram

◆ COMMON_RAM_4K

label COMMON_RAM_4K = %00000001

Mask for bits 0-1 to set 4k of common ram

◆ COMMON_RAM_8K

label COMMON_RAM_8K = %00000010

Mask for bits 0-1 to set 8k of common ram

◆ COMMON_RAM_16K

label COMMON_RAM_16K = %00000011

Mask for bits 0-1 to set 16k of common ram

◆ COMMON_RAM_UNUSED

label COMMON_RAM_UNUSED = %00000000

Mask for bits 2-3 to disable common ram

◆ COMMON_RAM_BOTTOM

label COMMON_RAM_BOTTOM = %00000100

Mask for bits 2-3 to set common ram on bottom (near $0000)

◆ COMMON_RAM_TOP

label COMMON_RAM_TOP = %00001000

Mask for bits 2-3 to set common ram on top (near $FFFF)

◆ COMMON_RAM_BOTH

label COMMON_RAM_BOTH = COMMON_RAM_BOTTOM | COMMON_RAM_TOP

Mask for bits 2-3 to set common ram on bottom and top

◆ VIC_BANK_ON_RAM_0

label VIC_BANK_ON_RAM_0 = %00000000

Mask for bit 7 to set Vic bank on ram block 0

◆ VIC_BANK_ON_RAM_1

label VIC_BANK_ON_RAM_1 = %01000000

Mask for bit 7 to set Vic bank on ram block 1

◆ VIC_BANK_ON_RAM_2

label VIC_BANK_ON_RAM_2 = %10000000

Mask for bit 7 to set Vic bank on ram block 2

◆ VIC_BANK_ON_RAM_3

label VIC_BANK_ON_RAM_3 = %11000000

Mask for bit 7 to set Vic bank on ram block 3