home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
enterprs
/
c128
/
util
/
c128rom.128
< prev
next >
Wrap
Text File
|
1993-04-06
|
6KB
|
194 lines
! -----------------
! C-128 ROM-I/O-MAP
! -----------------
!
! By James Hermann
! 74576.711
!
!With Help From-
! Allen Yoder/SCOPE-Texas
! Dave Haynie/Commodore
! 76703.2047
!
!0000* 8502 On-Chip D-D Register
!0001* 8502 On-Chip I/O Register
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!4000-7FFF BASIC Low ROM or
! Internal Low ROM or
! External Low ROM.
! 4000- BASIC Power-up JMP $4023
! 4003- BASIC RESET JMP $4009
! 4023-4044 BASIC Power-up
! 4045-410F Init. BASIC registers
! 4112-4179 Init. BASIC Abs. Var.
! 417A-418C Initalize D501-4
! 419B-41BA Print RESET Screen
! 41BB-4250 RESET Screen Header Char.
! 4251-4278 Init. 0300-11;02FC
! 4279-43DD BASIC CHRGET ML
! 430D- Tokenize BASIC Text
! 4417-4515 BASIC 2.0 Keywords
! 4516-46F8 BASIC 7.0 Keywords
! 484B-4A81 BASIC Error Meassages
! 4AA2- BASIC Char. Dispatch
! 4D3F- Print BASIC Message
! 4DC6- BASIC Warm Start
! 5151- BASIC Text LIST
! 51D9-5261 Init. BASIC Pgm vectors
! 6EB2-6EDA Init. BASIC Abs. Var.
! 78DA- BASIC Token Eval.
! 7E82-7FFD Blank
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!8000-BFFF BASIC Mid ROM or
! Internal ROM or
! External ROM.
! 9251-9298 BASIC to KERNAL JMP Table
! A845-A84C To BANK(15)
! AA6E-AE62 Blank
! AFA8-AFFF Blank
! B000-BFFF Moniter ROM
! BOOO- Moniter RST code
! B003- BRK
! BB72-BFFD Blank
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!C000-CFFF Editor High ROM or
! Internal ROM or
! External ROM.
! C000- CINT -JMP $C07B
! C00F- SCREEN
! C012- SCNKEY
! C018- PLOT
! C07B- CINT
! CEA8-CEF4 Function Key Init. values
! CEF5-CFFD Blank
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!D000-DFFF I/O Space
! D500-D50B MMU I/O chip(switchable)
! D500 MMU Config. Reg. ($FF00)
! D501-D504 MMU Preconfig. Registers
! D505 bit 7 - 40/80 switch 1=40
! bit 6 - 128/64 mode 1=64
! bit 5 - GAME line; bi-dir
! bit 4 - EXROM line; bi-d
! bit 3 - Fast Serial I/O
! bit 1-2 - reserved
! bit 0 -8502/Z80 CPU 0=Z80
! D506 RAM Config. Register
! bits 0-1 -K of Common RAM
! 00-1K 01-4K
! 10-8K 11-16K
! bits 2-3 -Loc./Common RAM
! 00-none 01-Bottom
! 10-Top 11-Both
! bits 4-5 -reserved
! bit 6 -RAM # used by VIC
! bit 7 -reserved
! D507 Page for CPU Zero Page
! D508 LSB-RAM # for CPU ZP
! D509 Page for CPU stack
! D50A LSB-RAM # for CPU stack
! D50B System Version Register
! bits 0-3 -MMU chip vers.
! bits 4-7 -Code for K/RAM
! 0010- 128K
! 0000- 256K
! D50C-D5FF Blank
! D600-D601 Access to 16K display RAM
! D600 Register addresses
! D601 Data
! DC00-DCFF CIA #1 (Keyboard; etc.)
! DD00-DDFF CIA #2 (Serial; etc.)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!E000-FFFF KERNAL High ROM
! E000- KERNAL ROM Code
! E000-E048 RST Code
! E04B-E055 $D500 Init. values
! E056- RESTORE
! E05B- VECTOR
! E093- RAMTAS
! E0CD-E108 Init.$FF05- on RAM(0-3) &
! KERNAL RAM Code on RAM(0)
! E109-E1EF IOINIT routine
! E1F0-E223 If $FFF5-9 on RAM(1)=cbm,
! then JMP ($FFF8);else...
! E224-E241 Init. $FFF5-9 on RAM(1)
! E242-E2BF Switch to 64 mode if D505
! bits 4-5 not set; check
! Int./Ext. ROM and JMP
! E24B-E26A Switch to 64 mode
! E33B- TALK
! E33E- LISTEN
! E43E- ACPTR
! E4D2- SECOND
! E4E0- TKSA
! E503- CIOUT
! E515- UNTLK
! E526- UNLSN
! F23D-F264 Close all files on dev=ac
! F265- LOAD
! F53E- SAVE
! F5F8- UDTIM
! F63D-F65D Check for CTRL R/S or C=
! F65E- RDTIM
! F665- SETTIM
! F6B1-F71D KERNAL Messages
! F731- SETNAM
! F738- SETLFS
! F744- READST
! F75C- SETMSG
! F75F- SETTMO
! F763- MEMTOP
! F772- MEMBOT
! F781- IOBASE
! F7D0-F7D9 Call KERNAL RAM Code 02A2
! to LDA byte from addr;y
! at Zero-Page vector in
! acc for BANK(x)
! F7EC-F7EF LDA MMU value for BANK(x)
! F7F0-F7FF MMU values for BANK(0-15)
! F800-F859 KERNAL RAM Code $02A2-FB
! F85A-F866 KERNAL RAM Code $03F0-FC
! F867-F988 Check for ROM not used
on RST ; Load Boot Page
and execute
! F9D5-F9FA Load page and STA($ACC)
! FA00- Editor Tables
! FA17-FA3F Print bytes after JSR
! FA40- NMI
! FA65- IRQ
! FC3B-FC7F Blank
! FC80-FEFF Foreign Lang. Sys.-Blank
!FF00* MMU Config. Register
!FF01-FF04* MMU Load Config. Regs.
! FF05-FF44 KERNAL Int. Dispatch Code
! FF3D-FF44 RST Code JMP $E000
! FF47-FF80 KERNAL Hardware JMP Table
! FF81-FFF5 KERNAL User Jump Table
! FFFA-FFFF NMI;RST; and IRQ vectors
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!* These are I/O registers and take the
! place of RAM or ROM always.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!MMU Configuration Register $D500/FF00
! bits values purpose
! 6-7 RAM control-
! 00 RAM(0)
! 01 RAM(1)
! 10 RAM(2)-not present
! 11 RAM(3)-not present
! 4-5 ROM control-
! 00 KERNAL and EDIT ROM
! 01 Internal High ROM
! 10 External High ROM
! 11 None
! 2-3 Mid ROM control- $8000-BFFF
! 00 BASIC ROM
! 01 Internal ROM
! 10 External ROM
! 11 None
! 1 Low ROM Control- $4000-7FFF
! 0=ROM 1=RAM
! 0 I/O-ROM Control- $D000-DFFF
! 0=I/O 1=CHAR-ROM
┼