DIY Ethernet board for IBM PCjr

Public Chat
Similar projects worth following
I've got this idea 2 years ago (January 2017) after some discussion in IBM PCjr forum. So idea is to make an Ethernet board (with WizNET module) that could be inserted into usually free modem slot of IBM PCjr. And I will need to write some software for it of course...

Original forum discussion from January 2017:

One of the slots (2x15 contacts) of IBM PCjr are intended to be occupied by modem, so we can re-use it, because that modem was useless anyway ( 300 bod : )

This is PCjr modem that I also have - I need to measure it and copy board dimensions properly:

Existing hole on the back could be used to insert Ethernet jack instead of Phone

WizNET board could be located this way (upside down) to match a shape of the hole:

Schematics of the modem are giving us some ideas how we can connect WizNET module to PCjr:

It's not too many signals there

 A1 - D7         B1 - 5V
 A2 - D6         B2 - /MODEM CS
 A3 - D5         B3 - A9
 A4 - GND        B4 - /TXRES
 A5 - D4         B5 - GND
 A6 - D3         B6 - A2
 A7 - D2         B7 - A1
 A8 - GND        B8 - A0
 A9 - D1         B9 - GND
A10 - D0        B10 - /IOR
A11 - MODEM INT B11 - /IOW
A12 - GND       B12 - GND
A14 - 5V        B14 - TXRES
A15 - 12V       B15 - 5V

It's enough to cover ports 03F8H...03FFH (8 ports total because of 3 address lines) and a single interrupt IRQ4 (that was used for modem on PCjr and it was connected to COM1). Address line A9 is needed to differentiate modem and floppy drive controller because both slots use the same /CS and A9 is the only difference (A9=0 for floppy and A9=1 for modem). Signal /CARD INST should not be grounded in our case, because PCjr BIOS is checking that modem card is inserted using that signal and starting to initialize UART:

WizNet module that I plan to use is  WIZ812MJ and it has chip W5100 on board that is able to work in so called "indirect mode" when internal 32KB memory are accessible not through full-scale 15-bit address bus, but through 4 registers (addressed by only 2 address lines) and I plan to use exactly this because of lack of address lines in modem slot of IBM PCjr.

  • More Retro

    SHAOS02/20/2019 at 04:02 0 comments

    I decided to make this board compatible not only with IBM PCjr, but RC2014 too :)

    And on the right side of the board it may even have optional NI-15 interface for nedoPC-85 ;)

    So this board is for 3 different retro computers :)

    Inside of IBM PCjr it will fit this way:

    It will be some extra board that connects WizNET module with PCjrNet board and as you can see shape of the board is very tricky...

  • Prototyping

    SHAOS02/17/2019 at 20:37 0 comments

    As I wrote in details I plan to use WizNET module WIZ812MJ (WIZ811MJ can also be used, but it doesn't have extra LEDs outputs and it's not currently available, at least on Digikey):

    On-board Ethernet chip W5100 has 3 modes in which it may work:

    1. Direct Bus Interface mode - all 15 address lines (with 8 data lines and a few control lines) are used to address internal 32KB memory directly;
    2. Indirect Bus Interface mode - only 2 address lines (and all 8 data lines plus a few control lines) are used to access 4 registers that address internal 32KB memory (it's also possible to set autoincrement for address during reading or writing);
    3. Serial Peripheral Interface (SPI) mode - regular SPI inputs/outpus (/SS, SCLK, MOSI, MISO) are used in this mode (and all other address/data/control lines are ignored).

    So we are interested in Inderect Bus Interface mode, because we have only 3 address lines available (and it's IO space, not MEM space) - to control WinNET module we will use 2 (A0 and A1) and 3rd one can be used to access ROM that will be soldered separately on the board to store MAC address and may be some other things for user. So, for user it will look like this:

    3F8h - register MR of W5100 (indirect mode flag and auto-increment flag)
    3F9h - register IDM_AR0 of W5100 (most significant byte of the address)
    3FAh - register IDM_AR1 of W5100 (least significant byte of the address)
    3FBh - register IDM_DR of W5100 (data register to read/write in indirect mode)
    3FCh - reserved for future
    3FDh - reserved for future
    3FEh - reserved for future
    3FFh - reserved for future

    From WizNET module we need at least these

    1. GND
    2. +3.3V
    3. /RESET (if we will need to have an ability to reset module programmatically)
    4. /INT (interrupt to signal back to PC that buffers are full or empty)
    5. /CS (to programmatically chip enable WizNET module)
    6. /RD (read control signal)
    7. /WR (write control signal)
    8. A0
    9. A1
    10. D0
    11. D1
    12. D2
    13. D3
    14. D4
    15. D5
    16. D6
    17. D7
    18. /SCS (optional SPI - if this line goes down then module will switch to SPI mode)
    19. SCLK (optional SPI)
    20. MOSI (optional SPI)
    21. MISO (optional SPI)

    LEDs lines /LINKLED, TX_LED and RX_LED could be used on intermediate horizontal board without going to big vertical board:

    Actually that intermediate horizontal board may be turned into WizNET bread-board-friendly breakout board with 1 row of pins to make it easier to use WizNET module on standard solderless breadboard for prototyping purposes, but in this case it will be needed to extend address to all 15 address lines, so we will need to have no 21 pins, but 34 (3.5 inches long).


    SHAOS02/14/2019 at 03:09 0 comments

    Somehow this project appeared on the 1st page of as one of the FEATURED PROJECTS ! Thanks, Hackaday :)

View all 3 project logs

Enjoy this project?



Dave's Dev Lab wrote 06/08/2019 at 20:01 point

Hey! do you need any IBM PCjr parts/accessories?

  Are you sure? yes | no

SHAOS wrote 06/08/2019 at 20:06 point

I think I have everything :)

But what do you want to offer? ;)

  Are you sure? yes | no

Dave's Dev Lab wrote 06/08/2019 at 20:11 point

i just bought out a IBM PCjr distributor that has had all kinds of NOS stuff in storage since 1985... memory expansions, external power kits, replacement disk drives, replacement motherboards, joysticks, keyboards, parallel printer expansion.. even have "carrying case"!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates