Commodore 128D User Manual

Browse online or download User Manual for PC/workstation barebones Commodore 128D. Memory expansions for the Commodore 128 - KT

  • Download
  • Add to my manuals
  • Print
  • Page
    / 31
  • Table of contents
  • BOOKMARKS
  • Rated. / 5. Based on customer reviews
Page view 0
Memory expansions for the Commodore 128
Marko Mäkelä Pekka Pessi
April 17, 1994
[last essential modification on December 22, 1999]
§
As the Commodore 128 was first introduced, 128 kilobytes feeled like an unbelievably big amount of memory.
Nowadays even plain terminals and game consoles have more, and you can easily expand even a Commodore 64 to
256 kilobytes, twice as much as its big brother has by default.
There are several commercial memory expansions for the Commodores 128 and 64, but they are rather expensive,
and most if not all of them are not being manufactured any more.
This article introduces three different memory expansions for the Commodore 128 and 128D computers. With
these instructions, you can expand your computer to 256, 512 or 1024 kilobytes of internal memory. The 1024
kilobyte expansion is actually a combination of the two former ones, and it is fully compatible with both of them.
When built by oneself, the 1024 kB expansion can remain cheaper than 200 Finnish marks.
1
I set three goals to the expansions. The bigger expansions should be fully compatible with the internal 256 kB
expansion for the Commodore 64 when the computer is in C64 mode, and the 256 kB and 1024 kB expansions should
be downwards compatible with a commercial internal 256 kB expansion for the Commodore 128. Finally, an expanded
computer should be fully downwards compatible with an unexpanded one.
The design aims to a hardware that supports programming. The 256 kB and 1 MB expansions enhance the capabil-
ities of the MMU in a way that the engineers at Commodore must have planned, and the other memory management
logic is even easier to program.
This document is partially based on Pekka Pessi’s two articles describing an 256 kB internal memory expansion for the Commodore 64. The
articles were originally published in the largest Nordic and Finnish home computer users’ magazine, MikroBITTI, in its first two issues in the year
1987. Six years later, they were translated to English and edited by Marko Mäkelä, with help from Pekka Pessi.
August 1996: Thanks to Wolfgang Scherr from Austria, who noticed my mistake in the schematic diagram. The inputs of the 74LS153 chip
were mixed, which caused the address block decoding to fail.
December 1999: By now, I know of two 64s and four 128s where this expansion has been built. The expansion never became a success,
although the banked concept is technically better than the Commodore REU.
§
January 2006: Thanks to Marco van den Heuvel, who implemented the expansion in the emulator VICE 1.19, for pointing out errors in the first
sample code for initializing the PIA.
1
One Americal dollar (USD) is equivalent to five or six Finnish marks (FIM). My expansion costed about 240 FIM, but I bought some parts in
vain, and could have bought the (second-hand) memory chips somewhat cheaper. This time they costed 117 FIM.
1
Page view 0
1 2 3 4 5 6 ... 30 31

Summary of Contents

Page 1 - April 17, 1994

Memory expansions for the Commodore 128Marko Mäkelä Pekka PessiApril 17, 1994[last essential modification on December 22, 1999]∗†‡§As the Commodore 128

Page 2 - Contents

If the screen shows up normally, you may not (yet) have made any mistakes. If it does not show up at all, youhave to find possible cut-outs and shorts.

Page 3 - 1 Some basics

Since I had finished the daughter board, I bent up the pins 2 and 5 of the U14 multiplexer chip, and connected itspins 1–3 and 5 to the daughter board

Page 4

U7M8722MMUIC5M8722MMUIC974F32U974F32U204066IC84066IC774F00IC6’138U3’13863TA154TA145TA136TA127TA118TA109TA910TA811CAS112CAS013MS214MS115MS034VSS4840/80

Page 5 - 1.4 Memory refresh

wreck C128 lying around, you can try ordering the chip from Jameco Electronics. The chip shouldn’t cost more than10 USD. You can reach them at:Orders

Page 6 - 2 Building the expansion

Electronic ComponentsSymbol DescriptionIC5 MOS 8722IC6 74LS138IC7 74F00IC8 4066IC9 74F32IC10–IC25 80256 or compatibleR3, R4 68 Ω resistorOther PartsQu

Page 7

and 12 from the 74F00 to the IC6’s pins 15 and 13, and connect the 74F00’s pins 11 and 10 together. Then solder thepin 9 to the 8502’s pin 10, A3. Sol

Page 8

3.1.1 PIA’s location in address spaceThe PIA’s data bus and E, RESET and R/W signals have been connected directly to the 6526 chip. Similarly are theR

Page 9

3.1.4 Startup settings for the PIA expansionIn order to enable the operation of the machine, each of the four segments must be mapped to a unique memo

Page 10 - 8580 for the 9 volt version

values written to 57280 will go to the data direction register. Inputs have the corresponding data direction register bitsreset, and outputs have them

Page 11 - See Section 5.1

3.4 Initializing the PIA expansionThe second MMU, if any, does not need any initialization. In contrary to that, the PIA does. Before using thatexpans

Page 12

Contents1 Some basics 31.1 Expansion memory in 16 kB blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Memory chips .

Page 13

You may want to use an array instead. That will save both space and processing time but lose generality. Someonemay have CB1 or CB2 in use,17and chang

Page 14

Peripheral Register A(Peripheral Lines PA7–PA0)Bits Description7–4 Block Selection, Segment 13–0 Block Selection, Segment 0Data Direction Register ABi

Page 15 - 3 Using the expansion

Control Register ABit(s) Description7 IRQA1 Interrupt FlagGoes high on active transition of CA1; Automatically cleared by MPU read ofPeripheral Regist

Page 16 - See Table 9

Control Register BBit(s) Description7 IRQB1 Interrupt FlagGoes high on active transition of CB1; Automatically cleared by MPU read ofPeripheral Regist

Page 17 - 3.2 Segmented memory

Address Description$D500 CR Configuration Register$D501 PCRA Preconfiguration Register A$D502 PCRB Preconfiguration Register B$D503 PCRC Preconfiguration

Page 18

Configuration Register formatBit(s) Description7–6 Processor RAM bank (0–3)5–4 Contents of the area $C000–$FFFF00 Kernal ROM01 Internal Function ROM10

Page 19 - See Section 3.1.4

RAM Configuration RegisterBits Function7–6 Video RAM bank (0–3)5–4 RAM block (0–3)3–2 Common RAM selection00 Common RAM block disabled01 Common RAM blo

Page 20 - See Section 6

solution. The lowmost kilobytes are free RAM, and it can be utilized by switching memory blocks. But the benefit ofthe extra memory decreases, as you c

Page 21 - 3.6 Programming the MMU

80 NEXT I90 POKE PIA+2,254:POKE DD,PEEK(DD) OR 3:POKE V+24,23:POKE V+17,27The extra memory can be used as a store of high resolution pictures as well.

Page 22

a nnnn cmd or. nnnn cmdAssembles instruction cmd to memory addressnnnn.b bb ffSelects a block. The bb holds the block number,and ff is a flag. If it is

Page 23

1 Some basicsThis article describes two memory expansions: an expansion that adds two new memory banks to the Commodore 128,doubling its memory space,

Page 24

problems, you should replace the ROM chip that holds the BASIC and Kernal ROMs with an EPROM containing thepatched Kernal. The RAM disk routines are i

Page 25

HIRAM line low, so that the interrupt vectors will always be fetched from RAM. The idea of the expansion is that theprogram runs in some other memory

Page 26

RAM pool (bank 0)MPU’s RAM VIC-IIe’s RAM----¾¾¾¾$00000$04000$08000$0C000$10000$14000$18000$1C000$20000$24000$28000$2C000$30000$34000$38000$3C000$40000

Page 27 - 4.2 Storing graphics

4164 41256 ª  ª` `1 116 162 215 153 314 144 413 135 512 126 611 117 710 108 89 9NC MA8VSSVSSD DCAS CASW WQ QRAS RASMA6 MA6MA0 MA0MA3 MA3MA2 MA2MA4 M

Page 28 - 5.4 RAM disk

64 kilobit DRAMs required 128 refresh cycles every 2 milliseconds, now the 256 kb chips need 256 cycles but every4 ms.Whenever you select a row addres

Page 29

U1M6526IC1MC6821IC2’153IC3’15162PA03PA14PA25PA36PA47PA58PA69PA710PB011PB112PB213PB314PB415PB516PB617PB718PC24FLAG1VSS19TOD22R/W23CS25Φ226D727D628D529D

Page 30 - 6 Enhancing the PIA expansion

U14 74LS257A ª`11621531441351261171089MUXVDDTA15AECA7TA12VMA7A4TA14VMA4A6 TA13VMA6 A5VSSVMA5Figure 4: Pin-out for the multiplexer chip U14Electronic

Page 31 - 6.2 New operating system

MOS 6526 CIA MC 6821 PIA ª  ª` `1 12 23 34 45 56 67 78 89 910 1011 1112 1213 1314 1415 1516 1617 1718 1819 1920 2021 2122 2223 2324 2425 2526 2627 2

Comments to this Manuals

No comments