-
GitHub
07/11/2020 at 10:22 • 0 commentsJust made all files available on Github.
-
First release
10/31/2019 at 16:55 • 0 commentsOk, the time has come to start releasing some files :-)
This link contains everything needed to build a simple Base18 system with RAM and SD card, and program it with the firmware as it is on 31 October 2019.
Of course, the hardware is still pretty much in alpha stage, some things may work, some may not. I am still testing and will be providing updates in due time. The firmware is almost at "release" stage and I will release the sources once there is enough third-party evidence that the system actually works elsewhere away from my desk.
In the final hours I decided to through in a simple PIC18 disassembler built into the system monitor. That went quite well, but unfortunately on the expense of a few KB from the IFS: drive. So, IFS: is down to the absolute possible minimum now, but at least still there.
My plan for finalising the development of the firmware includes some sort of absolute bare bone scripting automation so files can be started automatically on power on, or from other files. Maybe a few extra entries in the BIOS function table as well.
That's for now...
-
First Youtube video!
10/19/2019 at 20:31 • 0 commentsBehold! The first and only native working PIC18 computer :)
-
First assembled look
09/15/2019 at 16:26 • 0 commentsHere it is, plus two boards for SD interface and 128k memory.
Still some work left on the software before it becomes an actually presentable system, but slowly getting there. I think it will turn out well (we'll see)...
-
Prototyping card
07/22/2019 at 09:33 • 0 commentsI should have started with this one probably, but here we are anyway - a nice and round 32 x 18 sea of holes card for Base 18 :-)
-
Template for Base 18 cards
07/21/2019 at 19:40 • 0 commentsBefore I started designing various cards, I made this template which removes for me the boring parts in the job. I use Altum in my designs, hence the file here is for Altium, but it can (probably) be exported to another software as well.
This is what a blank "standard" card for Base 18 looks like:
And looking from the side:
A standard vertical through-hole header slides into the PCB and is soldered in surface mount way.
The template card has dimensions 86 x 55mm.
The best PCB thickness for this method is 1.8mm, but the standard 1.6mm works perfectly fine too. I have specified some header model from Samtec, simply because they have an excellent configuration tool. In reality any 60-pin dual row header, ideally with 5.84mm contact height, will do exactly the same job. I had difficulties finding exactly 60-pin headers, but the 80-pin ones are quite common and cheap on Aliexpress and everywhere else, so I took a bunch of those instead to cut them to size whenever that will be needed.
Pin one is on the top side of this board and where it is marked with a straight angle instead of rounded like elsewhere.
The schematic for the bus connector:
The bus has two separate reset signals - MCLR# and RESET#.
The first one applies to the PIC18 on the main board only, while the second one is general for the entire system. The RESET# signal also takes precedence over MCLR# in such way so when RESET# is brought low, MCLR# also becomes low, but if MCLR# is low, it does not affect the state of RESET#. Thus a controller card could disable the on-board PIC18 by simply holding the MCLR# in low and then take over the entire bus by installing a different processor instead.
Another part to mention are the unoccupied pins 3 and 4. The reason for that is to mitigate any potential harm coming from reverse installed cards. In this case - the "dangerous" lines carrying the raw input voltage (anything between 5V and 14V) will fall into the unconnected slots.
Pin 55 on the bus also has the specific purpose to prevent reverse connected cards. Its 180 degree counterpart is exactly the RESET# signal, so any (assuming properly designed) card that is connected reverse on the bus will cause the signal RESET# being kept permanently low, thus preventing any unwanted damages to the main board or the controller card.
I am currently making the first generation prototypes of the main board and several cards. Once they turn up here and hopefully work, I will start publishing more detailed schematics.
And finally, the PCB drawing for the card template:
This template is available as Altium PCB file in the project files section.
-
8255 PIO 5V card
07/21/2019 at 10:46 • 0 commentsFor support of all those retro interfaces at 5V here is a card based on the popular 8255 controller. Since this is a 5V card, it will require the 3V-5V voltage translator.
-
5V interface card
07/20/2019 at 18:00 • 0 commentsThe main concept of Base 18 is to use modern components (without compromising human-friendly solderability), and that is in the core of its 3.3V logic main bus. There are still number of old parts out there that work on 5V bus only. I want to connect the two worlds and that's why I designed this 3V-5V interface plugin. It converts the B18 bus to 5V levels along with bus supply of 5V, instead of the original 3.3V.
A B18 card in standard format can now connect on top just like any normal card. This one is solderable by hand but requires a bit more skill since the level shifters are SOP 0.65mm pitch, and in addition to that - there is another header to be soldered on the bottom side of the PCB. The passive components are still 1206 size, though.
I am making prototype PCBs and will be posting further updates in due course.
-
RTC card
07/19/2019 at 09:22 • 3 commentsThis one is done "the proper way" :) Not I2C or SPI, but with address decoding and mapped into the main address space. Unfortunately there are not many manufacturers who still make RTC ICs with parallel bus. In fact, except Maxim there are hardly any others. Fortunately this good chip from TI is perfect for the need. Not the cheapest option on the market, but still bearable price.
Sending this one the factory way too, for prototype PCBs.
-
External RAM 128K
07/18/2019 at 11:00 • 0 commentsJust finished my new B18 card. This one is a cheap external RAM 128k that occupies the bus addresses 0x20000 - 0x3FFFF.