Victorious3 / Integrated-Circuits

Integrated Circuits
Other
44 stars 18 forks source link

Connected circuits #10

Open SoniEx2 opened 9 years ago

SoniEx2 commented 9 years ago

Say you put 2 16x16's side-by-side; they should be able to "merge" together (maybe with user interaction? i.e. the user has to do it) and make a 2-block-wide 32x16 (or 16x32, w/e) board!

Victorious3 commented 9 years ago

Well, how would such a thing work together with the CAD?

SoniEx2 commented 9 years ago

How about you leave that for the IC itself, while the die just tells where things are? (alternatively enable bundled I/O on 16x16 boards)

Option 1, the die is not the IC:

Option 2, bundled I/O on 16x16 boards:

Option 3, "circuit I/O" mode:

Pick your poison ;)

(PS: there's probably something I didn't think of)

Victorious3 commented 9 years ago

For the 16x16 might be a doable thing, it won't be one line though as the renderer has to connect them as well... I'll think about it. I leave this open as a suggestion.

SoniEx2 commented 9 years ago

For the 16x16, with bundled I/O, it won't have to connect, and it's probably just a few lines to make the renderer support 16x16 bundled I/O + make the 16x16 take bundled cables. Option 3 seems best option tho. Maybe refactor it a bit and make it so mods can add custom I/O (I'm too tired to check if it's already possible with the current code base, so I'll check it tomorrow and edit here what I find)? (then someone would probably add CC and OC I/O modes, lol)

evg-zhabotinsky commented 9 years ago

It might be useful. But I see it a bit different.

It looks to me as a flat cable connecting adjacent circuits, instead of bundled or redstone. It is impossible to connect non-adjacent circuits this way, because such cables don't tolerate noise well, especially when signal is weak, coming from IC logic and not IO amplifiers. Only circuits of the same size can connect. Maybe because they use different voltages etc. It might be depicted as different cable colors (e.g. green, orange and red for T1, T2 and T3 respectively).

From inside the CAD, it will look as green pins along whole side, with the same order on left/right and top/bottom sides, numbered for convenience (just a tooltip will do). There are too much of them, so they will not be controlled from window sides (unlike other IO modes). You will have to click IO pins themselves (on PCB border), preferably just left button, but requiring a screwdriver ("edit" tool) will do. Controls on UI window sides will be disabled (as when the side is disabled completely, see #110)

Internally, this mod already passes signals directly between adjacent ICs, even when no mod provides bundled cables. So passing "extra wide" signals should not be a problem. However, I am not sure if it works the same way when circuit is FMP one. Might be a special feature of non-FMP gates then.

If implemented as above, these "flat cables" will actually work as a way to create bigger circuits, without 16 bits per side interconnection limit, but still with extra hassle of switching between several CADs often.

By the way, T1 chips are in fact 14x14 and not 16x16 (because of unusable PCB border), so I guess there is no well-defined way to enable normal bundled IO for them.

skyem123 commented 8 years ago

I think that there should be a special bus that works only between ICs. It should be numbered, and it will allow a 16x16 to connect to a 32x23 and 64x64 as it only show connections from 1-14.

skyem123 commented 8 years ago

So, my work in doing #164 has shown some things.

And not to mention that rendering it in the CAD GUI will be painful.