Print this page

Slot extender

Simple slot extender for MSX

Hans Otten, 2002/2005

The two slots of a normal MSX are quickly filled when you need a hard disk controller, a GFX9000, a Moonsound, a modem, too much to fit. And a slot expander is rare and expensive. In that case: build a slot extender! Cheap and nearly as good!

Slotextender

Circuit diagram of the slotextender

Slot extender? What is the difference with a slot expander?

Slot expanders are convenient extensions for the MSX. With an external box a cartridge port is trransformed into four cartridge ports, and each slot accepts nealry all types of cartridges. A well designed slot expander does not allow to insert a cartridge the wrong way, preventing a premature death of both MSX and cartridge.

Many types of slot expanders have been produced. To name a few: MK Pblic Domain sold the first version on the market. The engineer who made it work right and kept improving it is Kees Folst a.k.a. Digital KC. The last variant with four slots and two I/O slots can be bought on order by Hans Oranje. Sunrise alos mentions slotexpanders for sale on a waitinglist.

What is an I/O slot

The slot expanders made by Sunrise and Hans Oranje have some extra I/O slots. An I/O slot can be used for MSX cartridges only requiring I/O ports. Some examples are the GFX9000, Moonsound and modems like Telcom, NMS1250. Cartrdiges with builtin ROM (games) or RAM or certainly no I/O cartridges. But also hardware working with memory mapped I/O are not, like many floppy disk controllers.
Examples of cartridges not working in an I/O slot are:

- ROM cartridges
- SCC cartridges (even with the switch to turn off the game)
- memory mappers
- Harddisk controllers
- FM-PAC
- floppy disk controllers

The slot extender

A slot extender makes it possible to add one or more I/O slots to the MSX in a cheap and simple way while allowing the full use of the original slot. With a switch (SLOT SELECT) one can switch the cartridge in the original slot off or on. That can be used to dump a ROM cartridge: start the MSX with SLOT SELECT in the OFF position and, after boot, switch to ON.

Build a slot extender

The slot extender is quite a simple device,. In fact it is not more than parallel wired connectors. SLOT SELECT is only connected to the first connector. The job requires a lot of wires to be soldered and needs to be done carefully: a short circuit between wires means always damage to the internals of the MSX with fatal results. Check all connections before testing the device!

Picture 2. The three extender, originally made by Ries Vriend and extended with the BUSDIR circuit

Several of these slot extenders have been built:
- the Zemina 2 slot extender, a device that does not work with all alle MSX hardware werkt (see the discussion onBUSDIR en INT why) and therefore adpted to the slot extender recepy.
- A three slot extender build by Ries Vriend (see picture 2) . Also here the BUSDIR problems with for example the NMS8250/55/80 and therefore enhanced with the 74LS21 BUSDIR circuit.
- a quick to built version with crim-pon conenctors on flatcable, see poicture 3. A bit difficult to find a suitable case, the 74LS21 circuit is underneath.
- a four slot version with a backplane, a good case and a cartridge connector..

All these slot extenders work as expected. The 2 and 3 slots variants work fine on 7 MHz. The four slot version has a long cable and since no buffering of the signals is done it may have problems at standard speed or 7 MHz and with the drain on the power supply if all slots are used by powerhungry cartridges.

How to build

This howto is for a four slots slot extender.

The required parts are:

Number

Part

Description

50 cm

50 wire flatcable

To connect the extender with the slot, dont make it too long (30 cm is fine)

1

Cartridge case

A standard MSX cartridge case is the best, but a audio cassette case has the right dimensions

1

50 pins edge connector

The cartridge connector of the MSX has a 2.54 mm spacing and is double sided, HArd to find, an old PC ISA card has a suitbale connector connector with gold plated connectors. See picture 4 how with some work it can be used.

1

Case

Not to hard to find. An old modem case is a good example. Make sure the cartridges cannot be inserted the wrong way!

2 of 3

50 pins connectors

The slot connector. In the Netherlands:
Voor print montage, printkonnektor Display Elektronica nr:05.33.2.258 2x25 polig print straight
Conrad nr 74 26 35-60 2x25 connector page. 772
For a flatcable: Conrad nr 74 19 06-60 snijklemuitvoering voor platte band

1

74LS21

TTL IC for BUSDIR en INT

1

Switch

two pole switch

 

Wire

Thin isolated wire, the thinner the better!

2 of 3

Resistor 2k2

To mix the audio, experment for the best balance between audio devices

12

Resistor 10k

 

1

Circuit Tester

Check the connections, also for short circuits, never with a MSX switched on!

3

Capacitor 0.1 uF

To decouple the powerlines

1

Capacitor 47 uF 16V

Elco, for the +5V decoupling

 

Step 1: Connector for the MSX slot

The first step is to built a cartridge to feed all signals via a flatcable to the actual slot extender. In picture 1 and example is shown of a conenctor found in the junkbox with goldplated print edge connector from an old ISA card, adapted to the right size of 2x25 pins.


Picture 4 A connector made from an old PC ISA card

Step 2 Construction of the slot extender

Take a perf board/experimenters board, for example of eurocard format and solder the edge connectors in place, see picture 1). Then connect all pins via the following tables, a lot of work!.


See the pictures for the location of pin 1, 25, 2 and 50!


Alternative way of using a flatcable and crimp-on connectors


Circuit diagram of the slotexpander

Step 3 Active components

Solder the 74LS21 and resistors in plave according the circuit diagram. Also connect the SLOT SELECT switch. The capacitors are to be placed between the powerlines and ground, mind the polarity!

Step 4. Case

Place the extender print in the case. Finish the case to your wishes, but make sure it is done in such a way that inserting cartridges the wrong way around is impoosible!

Step 5 Test

Use an ohnmmeter or circuit tester for all conections on all connections. Not only the expected connectiosn should be checked, also adjacent lines for short circuits.

Step 6 Test, test , test!

Connect the slot extender to the MSX without a cartridge present. Then switch the MSX on and see if all is fine. Bad connections or short circuits are the danger here!

Step 7 The first cartridge

Insert a good cartridge and check the SLOT SELECT switch

Slot pins 1-49 connections

Name

MSX Slot connector

Slot 1

I/O slot 2

I/O slot 3

CS1

1

1

1

1

CS12

3

3

3

3

Reserve

5

-

-

-

WAIT

7

7

7

7

M1

9

9

9

9

IORQ

11

11

11

11

WR

13

13

13

13

RESET

15

15

15

15

A9

17

17

17

17

A11

19

19

19

19

A7

21

21

21

21

A12

23

23

23

23

A14

25

25

25

25

A1

27

27

27

27

A3

29

29

29

29

A5

31

31

31

31

D1

33

33

33

33

D3

35

35

35

35

D5

37

37

37

37

D7

39

39

39

39

GND

41

41

41

41

GND

43

43

43

43

+5V

45

45

45

45

+5V

47

47

47

47

SOUND

49

*

*

*

* see text and circuit diagram

Slot connector pins 2-50

Name

MSX Slot connector

Slot 1

I/O slot 2

I/O slot

CS2

2

2

2

2

SLTSL

4

4

*

*

RFSH

6

6

6

6

INT

8

**

**

**

BUSDIR

10

***

***

***

MERQ

12

12

12

12

RD

14

14

14

14

Reserve

16

option

option

option

A15

18

18

18

18

A10

20

20

20

20

A6

22

22

22

22

A8

24

24

24

24

A13

26

26

26

26

A0

28

28

28

28

A2

30

30

30

30

A4

32

32

32

32

D0

34

34

34

34

D2

36

36

36

36

D4

38

38

38

38

D6

40

40

40

40

CLOCK

42

42

42

42

SW1

44,46

SW2

46, 44

+12V

48

48

48

48

-12V

50

50

50

50

* SLTSL only connect to one slot

** INT see text and circuit diagram

***BUSDIR see text and circuit diagram

Technical background

I/O in two ways

The way the Z80 cpu addresses I/O devices is important for the concept of I/O slot and the slot extender/expander.

I/O is performed in a computer by special ICs for the communication with the outside world. These ICs show to to the cpu socalled registers that allow via read/write operations I?O to take place. A good example is the PSG sound generator.

I/O based

The Z80 uses port mapped I/O to address I/O devices in the form of special ICs. The Z80 has special instructions to do I/O read and writes to the ports (the registers of the I/O device like IN and OUT and some more specialised ones. The RD (read) and WR (Write) signals of the CPU indicate, together with the address, which opertion on what port to perform. MThe MSX machine is filled with these ports (see the Ports map in the MSX Info pages) like PSG, VDP etc. DO not mix the I/O port mechanism and the slot concept!

Memory mapped I/O

Port mapped I/O is one way of doing I/O and standard in the Intel/Zilog world. But an I/O device register can also be accessed as normal memory location. Advantages are that no special I/O instructions are required and the limit of 256 I/O ports is gone. It does take away part of the 64K memory space available in the MSX, but this already is solved with the slot mechanism and memory mapper concept.This is done in complex MSX machines, for example disk controllers are mostly memory based, the device gets its own page.

Cartridges in a MSX slot and SLOT SELECT

An external MSX slot (one is required by the standard) is a socalled primay slot in the memory map, slot 1 (and 2) usually. This means the SLOT SELECT on the slot connector is activated if the slot is selected by the program. SLOT SELECT is therefore essential for merory based activities. When SLOT SELCT becomes low it means memory (or memory mapped I/O) access is possible for the cartridge present in that slot. When a primary slot is expanded the most important feature of the expander is to generate SLOT SELCT signals for each expanded slot.

Cartridges in a MSX slot and memory mapped I/O

On the cartridge connector no signal is present to indicate the equivalent of SLOT SELECT for memory access. This means every cartridge and all MSX internal devices will see an I/O request from the processor. Only the port address determines if a device feels addressed.
This means:
- only 256 I/O ports in total are available on the standard MSX
- an I/O based slot does not need SLOT SELECT and is unaware of primary or secunday slot

BUSDIR and INT

Some MSX computers like the VG8235 or NMS8245 and nearly all MSX 1 computers do not require the BUSDIR signal, because the databus is not buffered inside the MSX. BUSDIR is a signal that indicates during read operations that the (bidirectional) data buffer needs to send data to to cpu. External cartridges need to assert BUSDIR when they are want to send data to the CPU. In the circuit diagram therefore an OR circuit is used to combine the BUSDIR's from all slots.

INT is a signaal activated by a cartridge when it has a hardware interrupt to report. In the circuit diagram therefore an OR circuit is used to combine also the INTs from all slots in the extender.

Future developments

The slot extender presented here is a convenient addition. Not as convenient as a slot expander but it can be made more close with still a limited amount of hardware:
- better sound. The resistor circuit is quite simple to mix sound from the slots. A better solution, also for slot expanders, is to feed the audio acpins to an external mixing panel. Or built a simple mixing circuit with a opamp.
- add a real complete slot (see also the Third slot article). For example the MSX machines with the S3527 or S1985 MSX engines have at least one expanded slot signal available. On the S3527 slot 301 is available, see the IC description and the service manual.
- use a rotary swicth to enable any of the slots as a full slot with SLOT SELECT.


Previous page: MSX cassette page
Next page: WD1793