Fixing a Superbrain up

Talk about non-Acorn classic computers/hardware/software here (including retro consoles)
User avatar
jonb
Posts: 2084
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: Fixing a Superbrain up

Postby jonb » Mon May 15, 2017 2:54 pm

So...

KR3600-PRO adapter.JPG


Note K6 (on P1) is not connected (it's not connected on the SB main board, but I'm just making sure). Also, have made the lock/rollover jumper as you suggested.

New board render:

KR3600-PRO adapter PCB.png
Lurvely...

User avatar
hoglet
Posts: 6626
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: Fixing a Superbrain up

Postby hoglet » Mon May 15, 2017 4:05 pm

jonb wrote:B9 is unconnected on the Superbrain schematic, which is why I made it optional, but I can see that the PRO is outputting 9 digits.. I guess it only needs 8 bits if it's going to output ASCII (well, 7, but err..) - I will connect it to A8. It's actually shown like that in the application note and it would remove one of the jumpers and give 4 possible keyboard maps. Much more manageable.

I think we are on the same page now...

The KR3600 datasheet shows two configurations for the PRO: a 64 key one and a 96 key one.
http://www.appleii-box.de/APPLE2/Keyboa ... pdf#page=8

You definitely need the 96 key one, as the matrix used by the SuperBrain includes keys in rows 6-8.

So that means all of B1..B9 must be connected to 2816 address inputs.

The output of the original KR3600-056 (which you are trying to mimic) is just an 8-bit ASCII code, which is why B9 is not connected.

Dave

User avatar
jonb
Posts: 2084
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: Fixing a Superbrain up

Postby jonb » Mon May 15, 2017 4:13 pm

You mean I am on the same page as you.. I think you read your page much better than I read mine. :lol:

3 boards ordered from OSH Park, £13.50.

So where are we now?
  • Keyboard encoder carrier board designed and ordered
  • AY-5-3600 PRO on order
  • CRT 8002 on order

I suppose I should work out what to put in the EEPROM next!

User avatar
jonb
Posts: 2084
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: Fixing a Superbrain up

Postby jonb » Tue May 16, 2017 1:33 pm

I think the EEPROM should look like this:

Code: Select all

00000000  1b 31 32 33 34 35 36 37  38 39 09 71 77 65 72 74  |.123456789.qwert|
00000010  79 75 69 6f 61 73 64 66  67 68 6a 6b 6c 3b 7a 78  |yuioasdfghjkl;zx|
00000020  63 76 62 6e 6d 2c 2e 2f  0a 30 2d 3d 60 08 03 70  |cvbnm,./.0-=`..p|
00000030  5b 5c 0a 27 7b 00 20 00  0d 00 00 00 37 38 39 2c  |[\.'{. .....789,|
00000040  1b 21 40 23 24 25 5e 26  2a 28 09 51 57 45 52 54  |.!@#$%^&*(.QWERT|
00000050  59 55 49 4f 41 53 44 46  47 48 4a 4b 4c 3a 5a 58  |YUIOASDFGHJKL:ZX|
00000060  43 56 42 4e 4d 3c 3e 3f  0a 29 5f 2b 7e 08 03 50  |CVBNM<>?.)_+~..P|
00000070  5d 7c 0a 22 7d 00 20 00  0d 00 00 00 37 38 39 2c  |]|."}. .....789,|
00000080  1b 31 32 33 34 35 36 37  38 39 09 71 77 04 72 74  |.123456789.qw.rt|
00000090  79 75 08 6f 01 73 03 05  06 07 09 0a 0b 3b 7a 78  |yu.o.s.......;zx|
000000a0  03 76 02 6e 6d 2c 2e 2f  0a 30 2d 3d 60 08 03 70  |.v.nm,./.0-=`..p|
000000b0  5b 5c 0a 27 7b 00 20 00  0d 00 00 00 37 38 39 2c  |[\.'{. .....789,|
000000c0  1b 31 32 33 34 35 36 37  38 39 09 71 77 65 72 74  |.123456789.qwert|
000000d0  79 75 69 6f 61 73 64 66  67 68 6a 6b 6c 3b 7a 78  |yuioasdfghjkl;zx|
000000e0  63 76 62 6e 6d 2c 2e 2f  0a 30 2d 3d 60 08 03 70  |cvbnm,./.0-=`..p|
000000f0  5b 5c 0a 27 7b 00 20 00  0d 00 00 00 37 38 39 2c  |[\.'{. .....789,|
00000100  48 34 35 36 2d 4c 31 32  33 4b 30 2c 0d 23 4a 00  |H456-L123K0,.#J.|
00000110  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000120  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000130  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000140  48 34 35 36 2d 4c 31 32  33 4b 30 2c 0d 23 4a 00  |H456-L123K0,.#J.|
00000150  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000160  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000170  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000180  48 34 35 36 2d 4c 31 32  33 4b 30 2c 0d 23 4a 00  |H456-L123K0,.#J.|
00000190  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000001a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000001b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000001c0  48 34 35 36 2d 4c 31 32  33 4b 30 2c 0d 23 4a 00  |H456-L123K0,.#J.|
000001d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000001e0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|


This is the first map (00) of 4 (not sure whether I will bother implementing the others). I am not sure about some of the special keys, notably the cursor keys and "HERE NOW" key, but this covers most of it. Meanwhile, a new encoder chip has arrived...

Anyone who is interested in the little program I wrote for this can find it and its output in the attached zip file.

KR3600 PRO ROM.zip
All the schizzle!
(3.88 KiB) Downloaded 11 times

User avatar
hoglet
Posts: 6626
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: Fixing a Superbrain up

Postby hoglet » Tue May 16, 2017 6:14 pm

I'll take a look at the ROM later.

Edit: Just looked, and it looks broadly right to me.

How long do you expect the boards to take to arrive?

Dave

User avatar
jonb
Posts: 2084
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: Fixing a Superbrain up

Postby jonb » Thu May 18, 2017 8:24 am

Quite a long time, they come from the US. Have not been fabricated yet.

Meanwhile... I'm looking at the video circuit. I agree that the CRT8002 is bad and have ordered another one from a French seller. Problem is, I am not sure which variant it is. I need a 003 for the Superbrain, which contains a 7x5 ASCII character set. It'll be a shame if the one I ordered is not a 003, because it won't work here.

The 8002 has an external mode as well, that may allow me to specify my own fonts. Oh dear, I feel another carrier board coming on... :roll:

By the time I've finished with this, you won't be able to see the main board for all the little postage stamp sized carriers! :lol:

User avatar
jonb
Posts: 2084
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: Fixing a Superbrain up

Postby jonb » Sat May 20, 2017 10:19 am

This is the result of fitting the new CRT 8002.

IMG_3987.JPG
Hmmm...


Obviously it works, but the chip is not the 003 variant because it's not using the 5x7 font. It'll do for now, though. Just waiting for the KR3600-PRO adapter boards now. I wonder if I fit the PRO to the motherboard directly, will it return characters? I suppose so, but I also need to work out the right key combination for F. It's ASCI 102 denary, which is 01100110 and to get that from the PRO I need... SHIFT-CTRL-W.

Of course, this isn't going to work, but I'll try it anyway, just for a laugh.

User avatar
jonb
Posts: 2084
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: Fixing a Superbrain up

Postby jonb » Sat May 20, 2017 10:34 am

IMG_3988.JPG


Sorry about the sideways angle. I hit CRTL-SHIFT-W and it asked for a floppy disk - why-hey! Good stuff so far, but there's no drive activity, even after simulating a carriage return (by hitting E).

I think the time has come to investigate CPU2.

The Z80 in CPU2's socket is known working (tested by swapping CPU1 and 2 around). So, we have several likely candidates - the drive itself, the 2114 SRAMs, the FDC or some nasty little logic chip with one or more stuck gates.

User avatar
1024MAK
Posts: 6795
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...

Re: Fixing a Superbrain up

Postby 1024MAK » Sat May 20, 2017 3:39 pm

If you can, test the 2114 SRAM chips in another system. These are not the most reliable of memory chips...
Some EPROM programmers can test some SRAM chips, but I don't remember any that can test 2114 SRAM :(

Mark
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk NOW!
BeebWiki‬ - for answers to many questions...

User avatar
oss003
Posts: 2550
Joined: Tue Jul 14, 2009 11:57 am
Location: Netherlands
Contact:

Re: Fixing a Superbrain up

Postby oss003 » Sat May 20, 2017 4:36 pm

1024MAK wrote:If you can, test the 2114 SRAM chips in another system. These are not the most reliable of memory chips...
Some EPROM programmers can test some SRAM chips, but I don't remember any that can test 2114 SRAM :(

Mark

You can test the 2114's in an Atom .....

Greetings
Kees

User avatar
jonb
Posts: 2084
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: Fixing a Superbrain up

Postby jonb » Mon May 22, 2017 11:47 am

It's true - alternatively, I can put the Atom memory into these sockets (as I have RAM/ROM on my atom, the 2114s are spare).

There is certainly something wrong with the memory addressing for CPU2. With the ICE in place, and the CPU enabled, I see unexpected holes in the address space:

Code: Select all

OK ===> md

0000000000000000111111111111111122222222222222223333333333333333
0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF
RR  RR  RR  RR  RR  RR  RR  RR    RR  RR  RR  RR  RR  RR  RR  RR
OO  OO  OO  OO  OO  OO  OO  OO    WW  WW  WW  WW  WW  WW  WW  WW
00  00  00  00  00  00  00  00    22  22  22  22  22  22  22  22
01  01  01  01  01  01  01  01    22  22  22  22  22  22  22  22


I would have expected to see ROM in the first bank and 1k in a block somewhere else. (On my board there is no Z68 so there is no additional 256 bytes). What this looks like is partial address decoding, so the memory appears multiple times in the 64k map.

I read the CPU2 glue logic as enabling RAM whenever A15 is high (due to the inverter) and MREQ is low, so I would expect to see the same 1K mapped to every column starting at the 1K block 20h.

For the ROM to be enabled, A11 is low and MREQ is low (that's the first 1K of memory).

This doesn't make a whole lot of sense to me. I thought we'd get ROM in the first 2K (we do, but it is seemingly all over the first 32K) followed by 1k of RAM somewhere else (we do, but it is not where I expected it to be). The 1K RAM, then, starts at 8800h.

I'm obviously missing something... again... if this is the correct memory map for CPU2 (I doubt it!) then perhaps the FDC is bad. It's a FD1791 and I have a spare in my TRS80 Model II. I could swap it, but it'll take quite a bit of work.

User avatar
1024MAK
Posts: 6795
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...

Re: Fixing a Superbrain up

Postby 1024MAK » Mon May 22, 2017 2:11 pm

Code: Select all

Superbrain

CPU2
Memory address decoding

Z69 2716 PROM 2k /CS pin 18 from Z70 LS32 OR. Inputs /MREQ, A11
Z88 2114 SRAM 1k /CS pin 8  from Z70 LS32 OR. Inputs /MREQ, inverted A15
Z89 2114 SRAM 1k - as Z88

So...

address A15 A14 A13 A12 A11 A10
         X   X   X   X   0   X   Z69 2716 PROM
0000     0   0   0   0   0   0   Z69 2716 PROM
07FF     0   0   0   0   0   1   Z69 2716 PROM
0800     0   0   0   0   1   0   vacant
0FFF     0   0   0   0   1   1   vacant
1000     0   0   0   1   0   0   repeat of Z69 2716 PROM
17FF     0   0   0   1   0   1   repeat of Z69 2716 PROM
1800     0   0   0   1   1   0   vacant
1FFF     0   0   0   1   1   1   vacant

etc...

address A15 A14 A13 A12 A11 A10 A9  A8
         1   X   X   X   X   X   X   X  Z88,Z89 2114 SRAM
8000     1   0   0   0   0   0   0   0  Z88,Z89 2114 SRAM, bus clash with PROM
83FF     1   0   0   0   0   0   1   1  Z88,Z89 2114 SRAM, bus clash with PROM
8400     1   0   0   0   0   1   0   0  repeat of Z88,Z89 2114 SRAM, bus clash with PROM

etc...

8800     1   0   0   0   1   0   0   0  Z88,Z89 2114 SRAM
8BFF     1   0   0   0   1   0   1   1  Z88,Z89 2114 SRAM
8C00     1   0   0   0   1   1   0   0  repeat of Z88,Z89 2114 SRAM

etc...

Mark
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk NOW!
BeebWiki‬ - for answers to many questions...

User avatar
jonb
Posts: 2084
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: Fixing a Superbrain up

Postby jonb » Mon May 22, 2017 2:45 pm

Well.. I swapped the FDC and something is happening.

I successfully booted one of the disks using a BBC dual drive set to 40 tracks (seems my Tandon drive cannot read these boot disks after all) but thje CP/M BIOS appears to be setting the 60HZ mode so it flickers like crazy. Also says "Compustar 64K" which is a Superbrain variant. There is a RTC display showing on the screen, too. The problem I have is that the keyboard encoder is not giving the values I had anticipated from the datasheet, so I'm finding it difficult to enter "DIR"!

@Mark: Yes, it looks as if it uses the RAM starting at 8800. The boot disks I have are all US and seem to be resetting the screen for 60Hz (despite the boot ROM doing likewise!). I was hoping to find a "50hz" program on the disk but as I cannot generate an I character (it's because the KR3600-PRO doesn't have the right bit pattern WRT the way it's wired to the Superbrain) I can't do a DIR. Heh.

So, I'm left with a few alternatives.
  • Try to reassign the CON: device to the serial port, and use a terminal. Not sure I can generate the key codes for the commands.
  • Get the right keyboard decoder.
  • Wait until the encoder carrier boards arrive from OSH Park.
  • Be exceptionally daring and attempt to reconnect the hard drive for a HD boot.

User avatar
jonb
Posts: 2084
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: Fixing a Superbrain up

Postby jonb » Mon May 22, 2017 4:30 pm

I have been exceptionally daring ( :lol: ) and connected the hard drive up. Alas, no action. It spins up and there was even a little head movement, but no boot, no activity light and nothing approaching "sensible" sounds coming out of it. The Superbrain is corrupting screen RAM when I try to boot via HDD, so I guess I am looking for a defective chip amongst the ~150 or so ICs that make up the interface boards. Without a schematic or any documentation, it's going to be difficult, so I think I'll leave this to one side for now!

Have to say though. The drive is rather noisy, but it makes the most intriguing whirring noise when the head is moving. I'd really love to get it going (besides, I need the boot tracks off it, plus any ACT HDD utils that may be present). Of course, it is probable that the poor old thing has expired. What a pity that would be.

User avatar
jonb
Posts: 2084
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: Fixing a Superbrain up

Postby jonb » Mon May 22, 2017 4:45 pm

So here is where we're at.

IMG_0880.JPG


You can't see it from the picture, but the image is flickering because it is running the video signal at 60Hz. Those odd truncated characters are caused by the character generator chip which as I said before is the wrong one for the Superbrain. But we can see what it is saying.

64K COMPUSTAR MODEL 30 STAND-ALONE DOS VER 0.2 FOR CP/M 2.2

The 00:04:23 display updates every second; it's an on screen clock. And below that we can see what looks like an "f" character which is really an A followed by the > character. Basically a CP/M CCP A> prompt.

User avatar
hoglet
Posts: 6626
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: Fixing a Superbrain up

Postby hoglet » Mon May 22, 2017 4:56 pm

=D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D>

Amazing progress!

Give yourself a pat on the back!!

User avatar
jonb
Posts: 2084
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: Fixing a Superbrain up

Postby jonb » Mon May 22, 2017 5:22 pm

Well, much of the gnarly bits are thanks to you and Mark, to be fair. I'm mighty grateful to you both!

Now I just need to a) get a 50Hz boot disk and b) get that KR3600-PRO carrier board from OSH Park and c) try to sort the character generator out (needs 8002-003 variant).

User avatar
1024MAK
Posts: 6795
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...

Re: Fixing a Superbrain up

Postby 1024MAK » Mon May 22, 2017 6:45 pm

jonb wrote:Well, much of the gnarly bits are thanks to you and Mark, to be fair. I'm mighty grateful to you both!

Now I just need to a) get a 50Hz boot disk and b) get that KR3600-PRO carrier board from OSH Park and c) try to sort the character generator out (needs 8002-003 variant).

Nice to see some good progress :D =D>

I wish you continuing good luck.

Is it possible to use another computer to copy the data from the HDD? What interface does it use?

Mark
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk NOW!
BeebWiki‬ - for answers to many questions...

User avatar
jonb
Posts: 2084
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: Fixing a Superbrain up

Postby jonb » Mon May 22, 2017 8:16 pm

Hi Mark

It's an MFM drive, like an ST506. I have no other interface like it - the oldest I have is on the P2000C and it's SASI. So I'd need an interface, probably a PC one, with the split data / control ribbons to connect to the drive. Also some test software so I can see if it is still alive. Got any? :)

User avatar
1024MAK
Posts: 6795
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...

Re: Fixing a Superbrain up

Postby 1024MAK » Mon May 22, 2017 8:21 pm

No :(
Somewhere I have an old MFM drive without it's cover, as the disk glints nicely in the light...

Mark
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk NOW!
BeebWiki‬ - for answers to many questions...

SteveBagley
Posts: 129
Joined: Sun Mar 15, 2015 8:44 pm

Re: Fixing a Superbrain up

Postby SteveBagley » Mon May 22, 2017 8:27 pm

jonb wrote:Hi Mark

It's an MFM drive, like an ST506. I have no other interface like it - the oldest I have is on the P2000C and it's SASI. So I'd need an interface, probably a PC one, with the split data / control ribbons to connect to the drive. Also some test software so I can see if it is still alive. Got any? :)


I've not used it but came across this a while back, might be useful?

https://www.pdp8.net/mfm/mfm.shtml

Steve

User avatar
jonb
Posts: 2084
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: Fixing a Superbrain up

Postby jonb » Tue May 23, 2017 7:06 am

Hi Steve

It appears to be a standalone unit that runs Linux on a Beaglebone board. Most interesting. I wonder what it would cost to build? Probably a bit expensive for a single use device (I mean, once I have the data off the HDD it's redundant) and risky if the drive has failed. More investigation, methinks.

:)

User avatar
jonb
Posts: 2084
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: Fixing a Superbrain up

Postby jonb » Tue May 23, 2017 11:30 am

While I am waiting for parts to turn up, I did a bit of computer archaeology, and turned up this: http://www.vcfed.org/forum/showthread.p ... -boot-code

I think I should be able to interrogate the drive once I have the Superbrain booting. Knowing the ports and commands is the first step. I could also use the ICE to step through the boot code, see what is coming back. Unfortunately I don't seem to be able to do it, which is a pain. When I look at the location the code is supposed to be in, all I see is duff memory. The boot code is at C000, copied there by CPU1, but on stopping the CPU and examining the address, there is nothing but C1 in every byte. I'm thinking that this is something to do with the ICE and the memory paging. When the ICE stops the CPU the display clears (it returns when the CPU is restarted). This is normal, but when stopped I do not seem to be able to access this bank of RAM. Odd.

User avatar
1024MAK
Posts: 6795
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...

Re: Fixing a Superbrain up

Postby 1024MAK » Tue May 23, 2017 2:33 pm

It could be that the Superbrain board disables CPU access to this RAM if the CPU control lines are not in the correct state...

Mark
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk NOW!
BeebWiki‬ - for answers to many questions...

User avatar
jonb
Posts: 2084
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: Fixing a Superbrain up

Postby jonb » Tue May 23, 2017 3:15 pm

Yeah, it's a bit of a git like that. Unnecessarily complicated, but does it add any performance? The twin CPU design was supposedly quicker, but it's not really DMA. I mean, in the sense that CPU1 could get on with stuff while disk access is going on - besides, under CP/M there's nothing for it to do anyway but wait for the access to complete (apart from servicing the screen routine, I suppose).

User avatar
1024MAK
Posts: 6795
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...

Re: Fixing a Superbrain up

Postby 1024MAK » Tue May 23, 2017 4:38 pm

A possible system with two CPUs that should enable both to do useful work at the same time often needs some shared RAM. Even better if it is dual port RAM. But such RAM is expensive :(

One CPU can look after I/O devices that need a lot of attention (scanning keyboard, serial port, prarallel printer port, FDD, HDD etc... while the main CPU runs the system and user programs. When the main CPU needs access to the I/O port data, it just copies it to/from the shared RAM. Or maybe a DMA chip does that...

But by the time you include shared RAM, a second CPU, ROM and support chips etc for the second CPU, the cost made it unattractive.

The QL used a microcontroller. Can't think of any other common home computer at that time that had a similar arrangement.

Of course, the Atari ST and the PC soon followed, each with keyboards controllers.

Mark
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk NOW!
BeebWiki‬ - for answers to many questions...

User avatar
jonb
Posts: 2084
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: Fixing a Superbrain up

Postby jonb » Tue May 23, 2017 9:08 pm

Yep.. I think it does use shared RAM (for the disk buffer and "post boxes"). Not dual ported though, that is what the switching logic is for. It seems to have /BUSRQ wired as well.

Superbrain's second CPU handles the disk only. I can't imagine a scenario where CPU1 is not waiting on CPU2 during a disk operation. It is CP/M after all, no multitasking. Maybe interrupts like I said, but nothing else. There is a keyboard encoder, but this merely picks up a key and turns it into an ASCII code. Handles rollover and repeat, stuff like that. But the CPU polls it as far as I can see, despite the existence of an "Any key down" line that would make the perfect interrupt signal.

Honestly, I don't know what the designer was thinking. There is a normal FDC in there, hooked up to CPU2's bus. Still, this is the very epitome of 8 bit exotica if you ask me. A CPU where you don't really need it.

What I think would be really cool would be to use CPU2 for the uIDE. Then I could use its 512 byte buffer as-is, as well as the blocking algorithm built into the BIOS (the floppy uses 512 byte sectors too).

Coeus
Posts: 468
Joined: Mon Jul 25, 2016 11:05 am

Re: Fixing a Superbrain up

Postby Coeus » Wed May 24, 2017 12:09 am

jonb wrote:Yeah, it's a bit of a git like that. Unnecessarily complicated, but does it add any performance? The twin CPU design was supposedly quicker, but it's not really DMA. I mean, in the sense that CPU1 could get on with stuff while disk access is going on - besides, under CP/M there's nothing for it to do anyway but wait for the access to complete (apart from servicing the screen routine, I suppose).


But I suspect "servicing the screen routine" is exactly why there is a separate CPU. Having the CPU that is servicing the FDC interrupted to generate the screen display would probably loose data - that's why the BBC micro prioritises FDC access above the other interrupts by using the NMI line, but then it can afford to because the screen display is generated by the 6845 independently accessing the memory.

User avatar
jonb
Posts: 2084
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: Fixing a Superbrain up

Postby jonb » Wed May 31, 2017 11:36 am

Here is a picture of the KR3600-PRO carrier board. On the left is the populated board, fitted to the keyboard encoder socket on the Superbrain's main board. To the right, an unpopulated board. Jolly pretty.

IMG_0886.JPG


The carrier board works in that it is sending keystrokes, but I can't yet see what it is sending, because I have not yet got an "F" out of it (to boot from floppy from the prompt) - so my map is wrong (probably the addresses are the wrong way round or something like that).

As I was trying various key combinations, the screen gave a little sigh (it was static forming on the tube) as it powered down. I thought the PSU was up to no good, but after leaving it a while it is back up. That's a relief... time to get the 'scope out to see what it is sending.

This is with the MK 2 map which was uploaded here: http://www.vcfed.org/forum/showthread.p ... post462810

Edit: Definitely something up with the screen. It powers down periodically, then comes back up. Overheating PSU perhaps?

User avatar
jonb
Posts: 2084
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: Fixing a Superbrain up

Postby jonb » Wed May 31, 2017 1:09 pm

OK, I have forced it to boot by using the ICE to jump to the floppy boot routine on any key. I can now just about see (at 60Hz refresh rate, flicker, flicker) the characters that each key is returning at the CP/M prompt.

I think I know why the keyboard encoder is giving odd results. Turns out that on the KR3600-PRO, the outputs B1 - B9 are back to front. So, B1 is not A0, it's A8; B2 is A7 (and so on). The carrier board connects these the wrong way, so the address that the ROM is seeing is back to front.

Example: one of the keys that returns a real key is { but pressing it gives G. G is located in the ROM at 0058h. Key { is code 52 (denary), which is the value 000110100 on the keyboard encoder's table. Reversing this gives 0010111000, which is the value 58h - and that is the G.

If I rejig my map I should be able to get it working.


Return to “other vintage computer hardware, software and games”

Who is online

Users browsing this forum: No registered users and 2 guests