Page 3 of 4

Re: 6809 Angel

Posted: Sat Oct 26, 2024 2:08 am
by Editor
djrm wrote: Thu Oct 24, 2024 8:48 pm Here's a quick view of the complete extension board...
Well, I decided Saturday morning was as good a time as any, to commission an official MECB Backplane Extension PCB.

MECB Backplane Extension v1.0 is now all done, and sent-off for manufacture.

David, I'll get the gerbers etc. onto github soon, just in case you want to order as well. Usually I won't do this until I've tested, but it's a pretty simple PCB design (I didn't even "sleep on it" first), and your prototype extension seems to indicate we should be okay for signal integrity (at least for lower MHz clock speeds). More testing will be in order, of course.

MECB_Backplane_Extension_PCB_v1.0.png

Re: 6809 Angel

Posted: Sat Oct 26, 2024 5:55 am
by djrm
The mistake I made was to stupidly solder in a couple of the sockets back to front, fortunately they were quite easy, though tedious, to remove and re-solder. Sinc then I did load the extension with as many boards as possible and everything worked ok at 2MHz.

Thanks for the Gerbers but it won't be economical for me to order any more boards for a while unless there is something I really 'need'. I found a Euro card enclosure with power supply and 2x16 display at an electronic sale last week. I'm thinking of converting it to a MECB enclosure. I may need a custom backplane or hopefully adapt the case to your design, I'll see. For now it is quite convenient to have the full system on my desk.

Image

The case is too deep really, I considered cutting it down but the power supply is full depth too. The existing backplane is not suitable to re-use unfortunateley.

Re: 6809 Angel

Posted: Sat Oct 26, 2024 7:00 am
by Editor
djrm wrote: Sat Oct 26, 2024 5:55 am The mistake I made was to stupidly solder in a couple of the sockets back to front, fortunately they were quite easy, though tedious, to remove and re-solder.
I missed that in the photo. I can imagine how frustrating that was!
djrm wrote: Sat Oct 26, 2024 5:55 am I found a Euro card enclosure with power supply and 2x16 display at an electronic sale last week. I'm thinking of converting it to a MECB enclosure. I may need a custom backplane or hopefully adapt the case to your design, I'll see. For now it is quite convenient to have the full system on my desk.
Yes, I've still got one of my original 3U Eurocard rack cases. However, it is designed for the original 160mm depth Eurocards, which I originally used for my wirewrap boards. So not really suited for MECB use.

I had always contemplated making a 3D printed case for MECB designs that I wanted to make permanent. In my mind I had pictured something like a cube case. Inspired by the NeXTcube. :geek:

Re: 6809 Angel

Posted: Sat Oct 26, 2024 1:40 pm
by djrm
Editor wrote: Sat Oct 26, 2024 7:00 am I had always contemplated making a 3D printed case for MECB designs that I wanted to make permanent. In my mind I had pictured something like a cube case. Inspired by the NeXTcube. :geek:
On reflection I think I'll make a simple laser cut rectangular case and keep the Eurocard case for something else. I'm wondering whether to mount the cards vertical or horizontal, i.e. with the backplane on the bottom or side. Maybee fold down sides to give access to the bits and pieces could help.

Some 39040 flash chips have finally arrived and this afternoon I've been loading them. the first ones got waylaid and I ordered some replacements, now I have two lots of 10 here to play with. All working s/h pulls from AE.

I have a couple of ideas to simplify reconfiguring the system:

1) use a signal from the rom expansion board to disable the CPU board rom - or even to keep say, the top 2k of address space for a monitor and change the rest with the bank switch.
2) use a spare input on a PLD to enable an alternative configuration - like the commented out sections in some of the sources.

These changes would mean less chip swapping - useful perhaps if the boards were in a case of some sort...

Re: 6809 Angel

Posted: Sat Oct 26, 2024 8:09 pm
by Editor
djrm wrote: Sat Oct 26, 2024 1:40 pm I have a couple of ideas to simplify reconfiguring the system:

1) use a signal from the rom expansion board to disable the CPU board rom - or even to keep say, the top 2k of address space for a monitor and change the rest with the bank switch.
2) use a spare input on a PLD to enable an alternative configuration - like the commented out sections in some of the sources.

These changes would mean less chip swapping - useful perhaps if the boards were in a case of some sort...
Interesting thoughts. Although (for me), one of my core MECB design criteria was that each Card remains independent in operation & configuration, supporting the underlying philosophy of a "minimalist" 8-bit mix-n-match experimentation system, with maximum flexibility.

As the Cards are each relatively simple (minimal parts), I have taken the direction of just assembling some additional cards to support different configurations which I regularly use (e.g. My CreatiVision configured 6502 system, and my ASSIST09 configured 6809 system), to avoid having to repetitively swap the same PLD's every time I want to swap between them.

For my own intended use, I'd only envisaged creating a case when I have a system that I want to make into a permanent configuration. The CreatiVision re-Creation is probably the first configuration that I'd consider a "completed system" that I'd probably want to now encase.
Of course, this is me thinking in terms of a finished system case design, as opposed to a flexible backplane case design (like the historic rack-mount Eurocard cases), intended for the easy swapping of cards.

Of course, I'm keen to see which direction you take!

Re: 6809 Angel

Posted: Mon Oct 28, 2024 11:06 pm
by djrm
Today has been a bit different, something I've been meaning to do for a while is to try and get something working with a 68HC11. My first job in software involved improving a 68HC11 device, I worked on them for several years before moving on to 16 and 32 bit microcontrollers about 25 years ago.

I'm ready to test this bare-bones system now. I'll check it over again in the morning before doing anything else on it. The inbuilt bootloader should be accessible with no external memory, but the plan is to remove the CPU out of one of the other boards and hijack its address decoding and memory - I couldn't bring myself to hand wiring the ram and rom chips as well as the cpu. I thought the hard bit would be the address latch so I started with it,, but all the other signals took as long if not longer. I may have to bite the bullet and start laying out PCBs again, not my favorite pastime and I haven't done it for many years.

I ordered the new prototype boards by mistake, these are not friendly for square chip packages so I had to make my own from square pad board.
Image

On another matter I have been looking at using a CH376 parallel to USB adapter, these can form a very simple interface to a USB memory stick with much of the software offloaded on the chip itself. There are systemes around using them for CP/M and today I saw a 6809 system on Github using one too. I've ordered a breakout board and shall be reading up to see where it takes me...

D

Re: 6809 Angel

Posted: Tue Oct 29, 2024 12:11 am
by Editor
djrm wrote: Mon Oct 28, 2024 11:06 pm Today has been a bit different, something I've been meaning to do for a while is to try and get something working with a 68HC11. My first job in software involved improving a 68HC11 device, I worked on them for several years before moving on to 16 and 32 bit microcontrollers about 25 years ago.
Nice! I've still got my M68HC11EVBU from the early days (as seen below). I had used the MC68HC705 for a number of projects, and moved on to the 68HC11 for a couple of side-gig projects, before my main career took over. Something I'll probably play with again some time.

M68HC11EVBU.jpeg

Re: 6809 Angel

Posted: Thu Oct 31, 2024 9:56 pm
by djrm
What I thought should be a simple build to get the 68HC11 working with external rom and ram is causing me problems. Fortunately the bootloader is working and I can see what the symptoms of the trouble, reading from the bus is unreliable, writing could be having difficulty too for all I know. probing around with the 'scope hasn't revealed anything except for some ringing on the edges of signals. its all nearly working. Next I'll hook up the logic analyzer to see if it can help identify what is going on.

The tool I'm using is a windows bootstrap loader / test program called Jbug11. You boot it in special test mode and can then switch to multiplexed external mode to see the ram and rom by running a simple test monitor tool communication with the windows gui.
Capture.PNG
The 16v8 is doing very little in this build, If I cant make it work soon then maybe replace it with plain logic but I cant see this being the problem. I have another working 68HC11 board, maybe swapping parts with it will shed some light.

Sorry about the ramble, David.

Re: 6809 Angel

Posted: Fri Nov 01, 2024 8:17 pm
by djrm
It took longer than expected to get the Micro11 monitor working, there were multiple problems competing with my competence. Simplifying the 16v8 decoding was the solution to the main problem but it was exasperated by a dodgy 28c256 chip. The chip had lost its memory during my testing and is now partly toast. The monitor now runs:
Image
Micro11 has an ANSII terminal interface which is nice, it doesn't seem to have a disassembly feature although it shows the op-codes during trace. The worlds my oyster now the system is running, I wonder what else I can make work on it. Next I'll re-enable the peripherals on the other cards then maybe get some old code running again.
Image
Back in the day I used to use 68HC11 with the IAR C compiler which has built-in memory bank controller for the rom. this allowed bigger programs to run, functions could be placed in a one of a few separate banks which would be switched in at runtime with a small overhead. common functions lived in the main bank which was always active.
David.

Edit, I've just found the real source of the problem it was that I hadn't taken the slave board clock generator out of circuit, the system was running with two clocks!. This also explains some of the strangeness I saw on the phi clock, doh.

Re: 6809 Angel

Posted: Mon Nov 11, 2024 9:31 am
by djrm
Here I have made a sector dump from a USB stick attached to a ch376. the code is adapted from the Alan Cox Fuzix driver. It is compiled with the 6809 CMOC and loaded into ram to run. The bus interface uses no other components besides the 16v8 address decoder on a prototype board.

Code: Select all

>L
>C 1000
ch375 test
cmd2: cmd=6 data=85
ch375: version (dec) 68
cmd2: cmd=21 data=7
cmd2: cmd=21 data=6
ch376: firmware version 4
ch37x poll complete

   	00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 

000	33,C0,8E,D0,BC,00,7C,FB,50,07,50,1F,FC,BE,1B,7C,BF,1B,06,50,57,B9,E5,01,F3,A4,CB,BD,BE,07,B1,04,	3.....|.P.P....|...PW...........
020	38,6E,00,7C,09,75,13,83,C5,10,E2,F4,CD,18,8B,F5,83,C6,10,49,74,19,38,2C,74,F6,A0,B5,07,B4,07,8B,	8n.|.u.............It.8,t.......
040	F0,AC,3C,00,74,FC,BB,07,00,B4,0E,CD,10,EB,F2,88,4E,10,E8,46,00,73,2A,FE,46,10,80,7E,04,0B,74,0B,	..<.t...........N..F.s*.F..~..t.
060	80,7E,04,0C,74,05,A0,B6,07,75,D2,80,46,02,06,83,46,08,06,83,56,0A,00,E8,21,00,73,05,A0,B6,07,EB,	.~..t....u..F...F...V...!.s.....
080	BC,81,3E,FE,7D,55,AA,74,0B,80,7E,10,00,74,C8,A0,B7,07,EB,A9,8B,FC,1E,57,8B,F5,CB,BF,05,00,8A,56,	..>.}U.t..~..t.........W.......V
0A0	00,B4,08,CD,13,72,23,8A,C1,24,3F,98,8A,DE,8A,FC,43,F7,E3,8B,D1,86,D6,B1,06,D2,EE,42,F7,E2,39,56,	.....r#..$?.....C..........B..9V
0C0	0A,77,23,72,05,39,46,08,73,1C,B8,01,02,BB,00,7C,8B,4E,02,8B,56,00,CD,13,73,51,4F,74,4E,32,E4,8A,	.w#r.9F.s......|.N..V...sQOtN2..
0E0	56,00,CD,13,EB,E4,8A,56,00,60,BB,AA,55,B4,41,CD,13,72,36,81,FB,55,AA,75,30,F6,C1,01,74,2B,61,60,	V......V.`..U.A..r6..U.u0...t+a`
100	6A,00,6A,00,FF,76,0A,FF,76,08,6A,00,68,00,7C,6A,01,6A,10,B4,42,8B,F4,CD,13,61,61,73,0E,4F,74,0B,	j.j..v..v.j.h.|j.j..B....aas.Ot.
120	32,E4,8A,56,00,CD,13,EB,D6,61,F9,C3,49,6E,76,61,6C,69,64,20,70,61,72,74,69,74,69,6F,6E,20,74,61,	2..V.....a..Invalid partition ta
140	62,6C,65,00,45,72,72,6F,72,20,6C,6F,61,64,69,6E,67,20,6F,70,65,72,61,74,69,6E,67,20,73,79,73,74,	ble.Error loading operating syst
160	65,6D,00,4D,69,73,73,69,6E,67,20,6F,70,65,72,61,74,69,6E,67,20,73,79,73,74,65,6D,00,00,00,00,00,	em.Missing operating system.....
180	00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,	................................
1A0	00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,2C,44,63,18,2E,07,C3,00,00,00,04,	.....................,Dc........
1C0	01,04,83,FE,C2,FF,00,08,00,00,00,E8,0E,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,	................................
1E0	00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,55,AA,	..............................U.

PC-FDBA A-00 B-00 X-0180 Y-BF37 U-1DD8 S-BF51 CC-F8 DP-00 
>
The program re-writes the default compiler character output to use the Assist09 console driver. I had a problem using printf with the %x modifier but side-stepped it using sprintf where needed. The dump is from the first sector on the drive holding the boot record.