8271 disc controller de-cap and craziness -- do not try this at home!

discuss both original and modern hardware for the bbc micro/electron
User avatar
Diminished
Posts: 523
Joined: Fri Dec 08, 2017 9:47 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by Diminished » Sun Aug 23, 2020 12:11 am

Well, this is kind of interesting, although it produces more questions than answers.
my_brain_hurts_1.jpg
I had a bash at tracing the rightmost connections in each of the clusters of 3 at the very bottom of the 10-way structure, immediately to the right of where they connect to the bus (with the exception of the far-left one, which is clearly a little bit different).

It is difficult to see precisely where they go with that big horizontal power line in the way, but they seem to hook up to the nine structures directly below the horizontal coloured bus lines, which are obscured by the big horizontal VCC line (there is clearly something there).

Each of these structures has two connections emerging from the bottom. I have (mostly) coloured these as before.

Interestingly, each of these pairs of connections then seem to go to various points in the ROMish thing in the bottom left. The white, green and yellow lines appear to talk directly to the top three (obviously all uniform) rows of the huge ROMish thing (maybe all 0s or all 1s). Meanwhile the orange, light blue, red, dark blue, pink lines (plus the ninth bit which I coloured white again) head towards the device on the left, which (I think) Kazzie convincingly argued was an address decoder.

Hypothesis: perhaps the nine chunky structures are flip-flops, or latches. Since each of these objects has a pair of outputs, it seems likely that these pairs are complementary; "Q" and "not Q". Signals emerge from the 10-bit thing and are then clocked into these latches, where their values are held for as long as is needed, freeing up the internal bus to accept the *output* from the ROM.

One thing that is really interesting here is that the white, green and yellow lines (maybe D0, D1, D2) are the ones that are connected *directly* to the big table, and they also happen to seem to connect to the three rows that are all *uniform* (presumably either all 0s or all 1s). I don't know what it means. It could be a coincidence. Or, do these three bits pick one of eight columns to output to each bus line via the 4-way connection at the top that I pointed out earlier? Where is the decoding logic for demultiplexing 3 bits into 8 lines, though?

The other six bits feed that address decoder thing in (perhaps) complementary pairs (potentially with a seventh bit arriving from somewhere else). Maybe this is why that address decoder table has a weird number of rows at 108; three bits are connected directly to the big ROM, so they don't need decoding?

Is the 7/3 (or 6/3) split in the logic lines here reflected in any way in the characteristics of those famous five internal registers, as per the datasheet?

My brain hurts.

guesser
Posts: 485
Joined: Mon Jun 26, 2006 10:21 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by guesser » Sun Aug 23, 2020 1:07 am

Yeah I noticed the lines going to the top rows of the rom thing yesterday, weird.
Like you say each column in the possible address decoder gets two lines in which I had thought was a Q/!Q input too.
The little ROM to the side looks to have the same thing going on as you'd expect, and the ROM itself looks the same kind of thing just rotated 90°.

I'm really hoping to see under the metal of the ROM like structures to see what's actually connected to what.
I think that the "blobs" on the grids were a bit of a red herring. I got target fixation trying to make turn that pattern into something resembling binary, which I now realise wouldn't make sense anyway.
I'm expecting to see bits sticking in towards them from one side or other. The issue with that, and where I've been stuck since yesterday, is that that would make all those spots without a "blob" a "don't care" bit. I'm hoping we can decode what each line is and reason for the missing ones will then be obvious!
A web based teletext editor which can export as Mode 7 screen memory: https://zxnet.co.uk/teletext/editor
Join the Teletext Discord for teletext chat.

User avatar
Diminished
Posts: 523
Joined: Fri Dec 08, 2017 9:47 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by Diminished » Sun Aug 23, 2020 9:07 am

new pics this morning!

go go go!

User avatar
Diminished
Posts: 523
Joined: Fri Dec 08, 2017 9:47 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by Diminished » Sun Aug 23, 2020 10:59 am

Diminished wrote:
Sun Aug 23, 2020 12:11 am
Where is the decoding logic for demultiplexing 3 bits into 8 lines, though?
It was under the metal layer, predictably enough.

Perhaps this is how the column decoding works? The address decoder rom energises one of the rows (not shown here), and then these three bits select one of eight columns?

Flipping one of D0 to D2 would swap the 1 and 0, so the complementary set of switches would open, and those currently open would close.
column_decode.jpg

User avatar
Pernod
Posts: 2234
Joined: Fri Jun 08, 2012 11:01 pm
Location: Croydon, UK
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by Pernod » Sun Aug 23, 2020 12:04 pm

More updates from Sean:
I didn’t have much luck using Whink to remove the top metal layer of the dies. I suppose it’s because they are still attached to giant ceramic slabs. I usually clean dies for 2 minutes, but I did that 3 times and there’s still metal on these. I’m taking pictures each time, so that makes it go very slowly. Tomorrow I think I’ll boil one of them in sulfuric acid and see if that does the trick.
I didn’t have time to process the pics, so I’m uploading the raw stitched pics. I also uploaded a text file called process.txt that lists the steps I take with GIMP to process the pics. Hopefully I’ll be able to clean off the rest of the metal tomorrow.
- Nigel

BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.

User avatar
Diminished
Posts: 523
Joined: Fri Dec 08, 2017 9:47 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by Diminished » Sun Aug 23, 2020 12:23 pm

Yeah, it's a little disappointing how much muck there is on the new pictures ... but they're certainly enough for some more poking around.

I suppose you can chalk up yet another reason why the 8271 was a poor choice for the Proton's FDC ...

User avatar
BeebMaster
Posts: 3637
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by BeebMaster » Sun Aug 23, 2020 12:35 pm

Never thought I'd be responsible for a "picture that broke the internet"!

Has anyone spotted any differences between the 8271 and the 8271-6? Only difference according to the datasheet is the operating temperature range, so maybe it only comes about at the testing/certification stage after manufacture. I think there was a -8 once upon a time as well, haven't seen one of those.
Image

guesser
Posts: 485
Joined: Mon Jun 26, 2006 10:21 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by guesser » Sun Aug 23, 2020 12:36 pm

Diminished wrote:
Sun Aug 23, 2020 10:59 am
Diminished wrote:
Sun Aug 23, 2020 12:11 am
Where is the decoding logic for demultiplexing 3 bits into 8 lines, though?
It was under the metal layer, predictably enough.

Perhaps this is how the column decoding works? The address decoder rom energises one of the rows (not shown here), and then these three bits select one of eight columns?
Yeah I guessed there'd be something like this under those top rows, but the question is how does it work to block or select lines! :?
A web based teletext editor which can export as Mode 7 screen memory: https://zxnet.co.uk/teletext/editor
Join the Teletext Discord for teletext chat.

guesser
Posts: 485
Joined: Mon Jun 26, 2006 10:21 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by guesser » Sun Aug 23, 2020 12:41 pm

I'm a bit baffled by the ROMs as they have broadly speaking the structure I was expecting of bits going to one side or other, except some see to go to both. *hair pulling emote*
A web based teletext editor which can export as Mode 7 screen memory: https://zxnet.co.uk/teletext/editor
Join the Teletext Discord for teletext chat.

User avatar
Diminished
Posts: 523
Joined: Fri Dec 08, 2017 9:47 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by Diminished » Sun Aug 23, 2020 1:18 pm

I don't understand the circuit either ... I don't get how those top six rows somehow act as switches (although they're fed with assumed complementary pairs of inputs, whereas the other rows presumably aren't), but the logic might work like this:
romsplaining_1.jpg

guesser
Posts: 485
Joined: Mon Jun 26, 2006 10:21 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by guesser » Sun Aug 23, 2020 1:34 pm

I'm going to really take a step way out of my depth now, and suggest that a signal coming in from the left forms the gate of a transistor which pulls the column to ground. So for each combination of those three bits only one of the 8 columns in each group is not pulled to ground.
The thing at the top with all the groups of four must also be some kind of transistor (but working the opposite way round?) where the columns coming up are the gates? Each one of those crosses over the layer all the groups of four are connected to, which is also connected to ground.
transistors.jpg
A web based teletext editor which can export as Mode 7 screen memory: https://zxnet.co.uk/teletext/editor
Join the Teletext Discord for teletext chat.

guesser
Posts: 485
Joined: Mon Jun 26, 2006 10:21 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by guesser » Sun Aug 23, 2020 1:40 pm

They either ground a column or don't, so I don't think the stuff coming in from the decoder is complimentary inputs any more.
Some points in the ROM have the column connected up and down to both inputs, so they must be separate addresses.
This also explains why some places have no via up to the column metal, because neither of the two addresses in that pair are set. i.e. each via can connect to the top input, bottom input, both inputs, or neither input. 4 options because it's two bits of the ROM. :D
I think we might be getting somewhere now :)
I need to apply the same thinking to the address decoder!
A web based teletext editor which can export as Mode 7 screen memory: https://zxnet.co.uk/teletext/editor
Join the Teletext Discord for teletext chat.

guesser
Posts: 485
Joined: Mon Jun 26, 2006 10:21 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by guesser » Sun Aug 23, 2020 1:46 pm

At the bottom of all the columns they're connected down to Vcc in parallel by what must be a big pull up resistor! It's all starting to make sense in my head now :D
A web based teletext editor which can export as Mode 7 screen memory: https://zxnet.co.uk/teletext/editor
Join the Teletext Discord for teletext chat.

guesser
Posts: 485
Joined: Mon Jun 26, 2006 10:21 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by guesser » Sun Aug 23, 2020 2:40 pm

Ok, I've worked out the address decoder, it is just counting up sequentially in binary from 0000000 to 1101011 (108).
So 7 row bits there, and the three column select bits makes a 10 bit address, but because of the missing rows that's an 864 byte ROM.

Shall I transcribe the bits into a spreadsheet then we can worry about what order they're in and which state is high/low later?
A web based teletext editor which can export as Mode 7 screen memory: https://zxnet.co.uk/teletext/editor
Join the Teletext Discord for teletext chat.

guesser
Posts: 485
Joined: Mon Jun 26, 2006 10:21 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by guesser » Sun Aug 23, 2020 5:23 pm

The small 10-bit decoder has the order of the rows jumbled up a lot, and many "don't care" states. I'm working my way through converting them into a range of values.
small-decoder.jpg
A web based teletext editor which can export as Mode 7 screen memory: https://zxnet.co.uk/teletext/editor
Join the Teletext Discord for teletext chat.

dp11
Posts: 1199
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by dp11 » Sun Aug 23, 2020 5:42 pm

Sounds like micro code?

guesser
Posts: 485
Joined: Mon Jun 26, 2006 10:21 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by guesser » Sun Aug 23, 2020 5:59 pm

dp11 wrote:
Sun Aug 23, 2020 5:42 pm
Sounds like micro code?

It looks like instruction decoding to me. I just did a bunch where there were 16 lines each with incrementing values in the upper 6 bits and "don't care" in the lower 4. I could imagine that being 16 register to register loads say :)

Once I've decoded them I'll put them all in a grid along with what they select from the ROM.


Edit: or is this decoding the commands from outside! I will have to study the datasheet! :)
Last edited by guesser on Sun Aug 23, 2020 6:03 pm, edited 1 time in total.
A web based teletext editor which can export as Mode 7 screen memory: https://zxnet.co.uk/teletext/editor
Join the Teletext Discord for teletext chat.

dp11
Posts: 1199
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by dp11 » Sun Aug 23, 2020 6:03 pm

Could be I wonder if a few of the address bits are a cycle counter.

guesser
Posts: 485
Joined: Mon Jun 26, 2006 10:21 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by guesser » Sun Aug 23, 2020 6:05 pm

/me stops speculating and gets back to transcribing bits
A web based teletext editor which can export as Mode 7 screen memory: https://zxnet.co.uk/teletext/editor
Join the Teletext Discord for teletext chat.

Kazzie
Posts: 1793
Joined: Sun Oct 15, 2017 8:10 pm
Location: North Wales
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by Kazzie » Sun Aug 23, 2020 6:19 pm

(I wish I had the time to get more involved with this analysis, it looks really fun!)

Looking at the structure of the gates between the left and right sides of each of the two "ROM" areas in the bottom right, they're oriented the same way. So if the big ROM area has decoder circuitry on the left retrieving data from the right side, then it would appear that the smaller ROM on the right works the same way.

With ten bits to decode in the smaller ROM, and the tracks of the "outputs" on the right going all the way up into the circuitry in the upper side of the board, I was wondering if they'd match up with the eight bits plus two address lines used to program the various registers. I'd theorised that the two address lines would be on the right, as most of the Don't Cares are on the left. Working under that assumption, we get all four combinations of A1 and A0, despite the datasheet only listing 00, 01, and 10 as valid (for writing to the command, parameter, and reset registers respectively).

However, if the address lines are on the far right, we've got all four combinations decoded...?

The combination 01 has four Don't Cares for every entry. If that's for the reset register, that would make sense, as the datasheet only specifiies but D0 being set as part of the reset sequence, but scarybeasts has found that setting bits D1 or D2 does funky stuff to the FDC. (If this analysis is right, D3 is also decoded and may have interesting effects, but D4-7 are Don't Cares.)
BBC Model B 32K issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
RiscPC 600 under repair
Acorn System 1 home-made replica

guesser
Posts: 485
Joined: Mon Jun 26, 2006 10:21 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by guesser » Sun Aug 23, 2020 6:47 pm

assuming I've not misplaced a bit anywhere, the rows of the small decoder come out as:

Code: Select all

$34
$2D
$24
$25
$26
$27
$22
$23
$28
$2A
$20
$21
$2B
$2E
$2F
$10
$11
$12
$13
$14
$15
$16
$17
$18
$19
$1A
$1B
$118 - $11F
$110 - $117
$128
$123
$125
$12A
$12B
$130 / $138
$131 / $139
$132 / $13A
$133 / $13B
$134 / $13C
$135 / $13D
$200 - $20F
$210 - $21F
$220 - $22F
$230 - $23F
$240 - $24F
$250 - $25F
$260 - $26F
$270 - $27F
$280 - $28F
$290 - $29F
$2A0 - $2AF
$2B0 - $2BF
$2C0 - $2CF
$2D0 - $2DF
$2E0 - $2EF
$2F0 - $2FF
$320 - $32F
$330 - $33F
$380 - $38F
$3D0 - $3DF
$390 / $392 / $398 / $39A
$391 / $393 / $399 / $39B
$394 / $395 / $396 / $397 / $39C / $39D / $39E / $39F
$340
$341
$342
$343
$344
$345
$348
$350
$351
$355
$35A / $35B
$370
$371
$373
$375
$376
$378
$3B0 - $3BF
$3C0 - $3CF
I've put them in a grid which maps the address for want of a better term to the row number
Attachments
decoder-grid.ods
(12.83 KiB) Downloaded 13 times
A web based teletext editor which can export as Mode 7 screen memory: https://zxnet.co.uk/teletext/editor
Join the Teletext Discord for teletext chat.

guesser
Posts: 485
Joined: Mon Jun 26, 2006 10:21 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by guesser » Sun Aug 23, 2020 6:56 pm

I suspect you're correct Kazzie. I also suspect I might have all my bits inverted. There was a 50% chance of it! #-o

Edit: Or not, I still can't make much of anything there line up with the datasheet either way.
/me gives up for now and goes to make his dinner.
A web based teletext editor which can export as Mode 7 screen memory: https://zxnet.co.uk/teletext/editor
Join the Teletext Discord for teletext chat.

User avatar
Pernod
Posts: 2234
Joined: Fri Jun 08, 2012 11:01 pm
Location: Croydon, UK
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by Pernod » Sun Aug 23, 2020 9:44 pm

Another update from Sean:
I cleaned both dies in hot sulfuric acid and it did help somewhat. I uploaded the new pics. I’ll try to clean the dies up more next weekend.
- Nigel

BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.

User avatar
sbadger
Posts: 450
Joined: Mon Mar 25, 2013 1:12 pm
Location: Farnham, Surrey
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by sbadger » Mon Aug 24, 2020 9:36 am

Nice progress here everybody and very interesting to follow (though pretty much over my head tbh)

Are you guys aware of the Degate tooling? I understand it's designed to help with this sort of stuff, and can help decode ROMS etc

https://degate.org/

and the video where I first saw it in action https://youtu.be/7Q82FkthDx8?t=4169
So many projects, so little time...

guesser
Posts: 485
Joined: Mon Jun 26, 2006 10:21 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by guesser » Tue Aug 25, 2020 6:31 pm

I've transcribed out all the bits from the ROM in the bottom left and double checked them. In the spreadsheet I've re-grouped them into bytes (rather than interleaved bits) and converted to hexadecimal.

This assumes that the column select bits are the low three address bits with the left column being the lowest address. Likewise it assumes the left group of 8 columns is B7, through to B0 on the right in order. Hopefully Diminished can trace the data bus to the bond pads which hopefully mirror the pinout :)

I can easily adjust my spreadsheet to shuffle the decoding around anyway.

Code: Select all

03 F9 FD 08 FF 00 46 FB
45 FF 44 FF 43 FF 41 FF
FB 0F F7 02 FD 09 FF 30
40 FF 0A FE 0B FE FC 67
FA 90 E7 D8 D0 63 FC FF
CE 75 C2 0F F8 43 FE 00
FC D1 03 EC 00 FC D1 FF
17 5F 5E 74 CB 03 A2 43
FF FC D0 30 C3 63 3F FB
CB 1C 63 3F 75 AC 67 DF
3C 2B CC FD D0 16 16 13
0F F9 46 FB 00 FB DD FC
CA 24 44 3C C4 02 FF D8
CF 0E FC EB FC D1 FF 17
FF 7F 5E 75 73 00 FE 0C
FF EA FE D4 7C 13 FF D8
CF D9 17 FD 30 80 00 03
A2 C9 DA C4 F1 11 FF 89
00 2C 03 21 41 FA 00 FF
47 FE 8B 7F 5B 47 FD 8B
BF 5B 47 FF FC D2 65 03
36 45 F4 ED D9 FE 17 5F
87 F8 FA FB 0F F9 FD 30
30 46 FE EF AE 0B 2C FD
A0 E7 3A 20 CF 45 FE EC
11 03 21 F4 03 37 FC 0B
FC C1 FD FE 0F F3 46 F7
FB 8F F7 0F FB 00 FF DE
14 78 FE 0F EF FB 9C 7F
13 FE 27 F7 FE C4 C3 07
FE 94 00 06 15 6B 6C D4
C3 7F 87 FE 10 67 2A 14
7B FB 34 10 76 F7 24 EF
FE 67 00 94 00 F0 07 FE
14 6B 75 A6 76 E0 C4 5C
D4 FB 18 24 FB 01 DD FB
34 04 FE C5 D3 17 FD 98
FD D3 CD C5 FB 9D FD CA
FE 93 00 A9 FB 24 FD FE
D2 63 00 FB 74 B9 9D FE
C1 8D FE BE 01 B5 34 02
03 96 FE D1 5D 74 D3 83
00 A9 67 EB FC 13 FB 34
02 FB 8C F7 9A 24 F7 FE
D0 06 06 63 C0 03 96 F6
11 FE C7 97 00 88 0E 05
5E 86 00 8F 5F 74 91 02
16 16 16 16 02 FF 59 FE
0C FB 9B 00 6F 5C DB 03
20 03 24 0B 28 0A 03 EA
FF DC 03 20 03 27 0A 01
0B 38 0F FE EA 0A 00 0F
FF FD 0C F5 03 1C 03 24
0A 04 01 67 0A 1A 0B 00
03 2E 67 1A 03 10 F2 11
FD 5A 74 11 12 0F F7 FD
DA 03 10 03 27 FF DD FB
0B 38 CA 0F FE 03 2E 5C
EC FF DF FD CB 0C 7F 02
FD 20 CF FB 0A FF EE FD
CC 0B FF 67 00 03 10 0A
FF FD 0A FF 0C FA 00 FB
0B 00 CA 37 0C 24 FE 44
F7 FD CA E7 FB 0F F7 1F
FA EA 03 A7 12 0F FF 0A
00 FF 5A 9A E0 EB FE 0C
FB D9 FB 11 0A FE 41 FB
FB 0A 00 E9 FE DA 03 A6
16 FD 0C 7F CB 9B 00 D0
1B 06 62 FE 5B 74 D6 CB
FF CF 02 0F FB 67 F3 AE
0C 85 FC B0 E7 10 FE D8
1B 75 B1 FF 7E 67 E7 BE
FC 85 FA 0F F7 11 D9 1D
74 A9 FD 0A F4 02 FF 11
F9 11 03 A7 67 E9 84 DF
85 67 EF FB 8C 7F 93 FC
94 FB 85 02 FC 94 BF 85
02 BE 0F A9 67 F7 01 85
67 F5 FB 34 07 01 7C 03
40 67 FF FD 29 C9 20 F7
FD 30 B0 03 A6 FE D0 90
0F 5F 03 A6 FC C3 B3 F0
64 41 FE 00 FC 5B 74 55
FB 34 C8 EF FC 5B 67 E7
75 85 00 67 07 01 4E 67
04 FF CD FA 03 3F FD 0B
FF 0C FA 45 F5 01 38 F8
11 03 40 03 E3 41 FC FC
67 ED 84 F7 85 EC DE 00
9E FB 8B 9E FE 23 FD 09
DF 90 FB 18 FD B0 E3 18
20 CF 80 C7 18 F3 11 EA
67 F1 AE 0C 85 37 02 03
A5 FB 34 01 FD 03 A6 FF
5A 9A E0 7E DB 63 C0 79
C9 FC 80 C7 F9 F0 11 FD
DA FB CA 00 0B 00 00 0F
FD 0A 00 EA FD 30 30 00
0B 00 FD 5C 74 DC 5B 77
DA 0C 7F FE 12 0B FF 30
30 12 FD 30 08 00 FF D8
CF 07 FD C9 F1 11 64 FF
DC FD CA 01 C1 64 5A 74
BA 73 AE CA 65 5C 74 C2
0C 7F 5B 76 C2 30 30 F5
11 67 FD 47 FF 73 A6 67
FB F7 11 FF FF FF FF FF
A web based teletext editor which can export as Mode 7 screen memory: https://zxnet.co.uk/teletext/editor
Join the Teletext Discord for teletext chat.

Coeus
Posts: 1837
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by Coeus » Tue Aug 25, 2020 7:28 pm

So if this is an 8-bit wide ROM do we think this is normal machine code for a microcontroller rather than microcode? Perhaps I should qualfiy that by saying my understanding of microcode is that it generally has very wide words because each bit is activating various bits of the chip as it goes through the micro-steps in each larger instruction.

If so then can we run it (the 8 bit ROM code) through a disassembler for some of the microcontrollers around at the time and see if it makes sense?

guesser
Posts: 485
Joined: Mon Jun 26, 2006 10:21 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by guesser » Tue Aug 25, 2020 7:48 pm

I've been looking at intel instruction sets but nothing makes sense. I think we need to work out where the outputs of that 10 bit rom go next.
A web based teletext editor which can export as Mode 7 screen memory: https://zxnet.co.uk/teletext/editor
Join the Teletext Discord for teletext chat.

User avatar
Diminished
Posts: 523
Joined: Fri Dec 08, 2017 9:47 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by Diminished » Tue Aug 25, 2020 8:45 pm

A quick PHP hack on the bytes collected shows how many times each of them occurs. These are listed the "wrong way round", with the frequency first and the byte second (so I could sort them in order of commonness).

I left in the ones that never occur at the bottom (the zeroes). Most possible bytes do get an outing, though.

Not particularly insightful but Fx and 0x look quite common.

Code: Select all

46 : FF
38 : FE
37 : FB
36 : FD
36 : 00
34 : 03
22 : FC
22 : 67
18 : 0F
15 : F7
15 : 11
14 : 0A
13 : 30
13 : 0C
13 : 0B
12 : 02
11 : 74
10 : 01
9 : 85
9 : 7F
8 : FA
8 : CA
8 : 24
7 : CF
7 : 5B
7 : 34
7 : 16
6 : EA
6 : E7
6 : D0
6 : A6
6 : 75
6 : 63
6 : 20
6 : 10
5 : F9
5 : EF
5 : DA
5 : D8
5 : CB
5 : 5C
5 : 41
5 : 17
5 : 07
4 : F5
4 : EC
4 : DF
4 : D9
4 : D1
4 : C9
4 : C4
4 : C3
4 : AE
4 : A9
4 : 94
4 : 5F
4 : 5A
4 : 47
4 : 46
4 : 45
4 : 18
4 : 13
4 : 12
4 : 06
3 : F8
3 : F4
3 : F3
3 : F1
3 : F0
3 : EB
3 : E0
3 : DD
3 : DC
3 : D4
3 : D3
3 : C7
3 : C2
3 : C1
3 : BE
3 : B0
3 : 9A
3 : 90
3 : 8B
3 : 80
3 : 76
3 : 73
3 : 64
3 : 5E
3 : 44
3 : 43
3 : 40
3 : 3F
3 : 38
3 : 37
3 : 27
3 : 14
3 : 04
2 : ED
2 : E9
2 : E3
2 : DE
2 : DB
2 : D2
2 : CD
2 : CC
2 : C5
2 : C0
2 : BF
2 : A7
2 : A2
2 : 9E
2 : 9D
2 : 9B
2 : 96
2 : 93
2 : 8F
2 : 8C
2 : 87
2 : 84
2 : 7E
2 : 7C
2 : 6B
2 : 65
2 : 3C
2 : 2E
2 : 2C
2 : 21
2 : 1C
2 : 1B
2 : 1A
2 : 0E
2 : 09
2 : 08
1 : F6
1 : F2
1 : EE
1 : D6
1 : CE
1 : C8
1 : BA
1 : B9
1 : B5
1 : B3
1 : B1
1 : AC
1 : A5
1 : A0
1 : 9C
1 : 98
1 : 97
1 : 91
1 : 8D
1 : 89
1 : 88
1 : 86
1 : 83
1 : 7B
1 : 79
1 : 78
1 : 77
1 : 6F
1 : 6C
1 : 62
1 : 5D
1 : 59
1 : 55
1 : 4E
1 : 3A
1 : 36
1 : 2B
1 : 2A
1 : 29
1 : 28
1 : 23
1 : 1F
1 : 1D
1 : 15
1 : 05
0 : E8
0 : E6
0 : E5
0 : E4
0 : E2
0 : E1
0 : D7
0 : D5
0 : C6
0 : BD
0 : BC
0 : BB
0 : B8
0 : B7
0 : B6
0 : B4
0 : B2
0 : AF
0 : AD
0 : AB
0 : AA
0 : A8
0 : A4
0 : A3
0 : A1
0 : 9F
0 : 99
0 : 95
0 : 92
0 : 8E
0 : 8A
0 : 82
0 : 81
0 : 7D
0 : 7A
0 : 72
0 : 71
0 : 70
0 : 6E
0 : 6D
0 : 6A
0 : 69
0 : 68
0 : 66
0 : 61
0 : 60
0 : 58
0 : 57
0 : 56
0 : 54
0 : 53
0 : 52
0 : 51
0 : 50
0 : 4F
0 : 4D
0 : 4C
0 : 4B
0 : 4A
0 : 49
0 : 48
0 : 42
0 : 3E
0 : 3D
0 : 3B
0 : 39
0 : 35
0 : 33
0 : 32
0 : 31
0 : 2F
0 : 2D
0 : 26
0 : 25
0 : 22
0 : 1E
0 : 19
0 : 0D

guesser
Posts: 485
Joined: Mon Jun 26, 2006 10:21 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by guesser » Tue Aug 25, 2020 8:50 pm

Also bear in mind that as well as bit order being unsure, the bits might also all be inverted.
A web based teletext editor which can export as Mode 7 screen memory: https://zxnet.co.uk/teletext/editor
Join the Teletext Discord for teletext chat.

User avatar
Diminished
Posts: 523
Joined: Fri Dec 08, 2017 9:47 pm
Contact:

Re: 8271 disc controller craziness -- do not try this at home!

Post by Diminished » Tue Aug 25, 2020 9:00 pm

I think there is at least one clue that the bit ordering is right, which is the 2/8 split in the structure that feeds the ROM's address lines. I could be wrong but I feel like that does reflect the A[1:0]/D[7:0] nature of the internal register block mentioned in the data sheet.

I was hoping we could get a cleaner image of the polysilicon layer.

Post Reply

Return to “8-bit acorn hardware”