Coder Social home page Coder Social logo

integrated-circuits's People

Contributors

achati avatar evg-zhabotinsky avatar ljfa-ag avatar mexahoid avatar rx14 avatar skyem123 avatar thog avatar tsukiumy avatar victorious3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

integrated-circuits's Issues

Additional Circuit Features

These are just a few things that would be nice, maybe for a version 2.0. I haven't looked into the internals too much to see how viable it would be to add these features on.

More wire colors - 3 colors are ok, but I could see wanting 4 or 8, which would allow for a 4-bit bus. 8 would permit 8-bit buses. I assume colors are meant to mimic multi-layer PCBs?

Bus lines/Bundles - carry multiple signals along a single trace, like bundled cables. Could also come in colors like wires to control connections. The "cost" to build would be the same as as many individual traces, but would be a lot cleaner when you need to move groups of signals around.

Named Nodes/Tunnels - Each given a name/number all instances are treated as linked. Again, makes moving signals across a board easier. See Tunnels

More advanced Logic Units - These get a bit tricky as some will have more than 4 I/O pins, so the might need to take multiple "nodes" on the board (I would suggest 2x2 which would accommodate two possible connections per-side).

Full Adder w/ carry in - A, B, carry in, carry out and output.
Demuxer - Could even be a 1-bit: A, B, Control, Out
Bus-based gates - Same set of logic gates (and adder/demuxer), but support multiple channels in one component.

Decoders, Negators, Subtractor, Bit shifters (Buses only), etc. would be nice, but are a lower priority.
Plexers
Arithmetic
Flip-flops
Shift Register

Request: RedLogic bundled cable support

Pretty much what it says on the box. I'm very thankful that P:R is now optional, because I'm using RedLogic on my server. But I like the direction this mod is going in, compared to the integrated circuits system in RedLogic. Only thing that is missing for me then, is bundled cable support.

Maybe this could also be expanded with MineFactoryReloaded RedNet support, too? That way, you can use the wave generators in MFR to drive an IC...

Connected circuits

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!

multi spawn when removing the block underneath a IC

When you remove the block underneath an integratedCircuit, an enormous amount of IC's get spawned.
2015-02-26_16 19 48
Same thing happens again when you delete the hovering IC itself. However, if you place a block underneath it and then delete it, it removes correctly.

pause and reset

Suggestion;

Maybe a pause for the CAD simulation to stop timers and synchronizers etc. And a reset for components like the toggleLatch synchroniser sequencer etc to revert them back to the begin state when paused.

Area select, move, copy, paste

Should be obvious from title, the ability to select areas of a circuit to move, duplicate, etc. You said this was on your todo list already, but you also asked me to post my suggestions here, figured I'd include this one while I was at it.

Stupid Newbie Assistance (or: where's the manual so I can RTFM)

Yeah, I'm having some difficulty figuring out how to work the GUI in the CAD, depressingly. It took me a few weeks to figure out that you can pan the view with Shift + Left Mouse! But uh, how do I insert a disk into the CAD? I tried shift-clicking the disk on the block but that didn't work...

drag to place rows of other components like wires

It'd be convenient if other components, especially the cells, could be clicked and dragged to place rows of them, the same way you can with wires. with null cells in particular, which I find myself using more often than wires when I've been trying to compact designs down as much as possible, it'd actually be nice to drag not just a line, but a rectangle to fill with them.

transparentLatch does not function the same as a projRed.transparentLatch

I've made this test setup: A row of transparentLatches with a timer set to one second for the lock input. A toggleLatch to divide the frequency and hold the signal for the signal input.
2015-02-27_13 30 29
All latches match the input signal immediately when a clock pulse arrives on the lock input. Same schematic in projRed works like this:
2015-02-27_13 30 13
This difference probably because of a lack of delay in the output signal. Putting a buffer in between the latches will make the IC work like the projRed setup does.
2015-02-27_14 00 14

Assembler crashing when opening up the GUI

java.lang.NullPointerException: Rendering screen 
at vic.mod.integratedcircuits.client.gui.GuiAssembler.func_146976_a(GuiAssembler.java:191) 
at net.minecraft.client.gui.inventory.GuiContainer.func_73863_a(GuiContainer.java:78) 
at net.minecraft.client.renderer.EntityRenderer.func_78480_b(EntityRenderer.java:1061) 
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:989) 
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:887) 
at net.minecraft.client.main.Main.main(SourceFile:148) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) 
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

projRed redAlloyWire & insulatedWire output problem with CC commanded toggleLatch

I have been tinkering with the computerCraft interface using openComputers to change the output state of a toggleLatch as you suggested when i asked for wrenchable dip switches. I've made this test chip: 2015-02-26_18 22 42
When i invert the output through the CC interface with the setGateProperty command. The outputs of the IC does change but a projRed.redAlloyWire or insulatedWire connected does not change with it. 2015-02-26_18 28 29
This problem can be circumvented by either;

  • connect to the output with projRed framedWire, bundeledWire, logic gate,nullCell etc
  • use redstoneDust or redLogic.alloyWire etc (can't test bluePower)
  • have a inverter, buffer, andCell etc between the toggleLach and the IOBit 2015-02-26_18 29 04

delay setting on timers not working

setting delay (ctrl+click with screwdriver) on timers pops up a dialog line the one from rp/P:R, but this dialog does not work properly (+1s sets it to 30 ticks, always; +50ms to 11 ticks, etc) and on exiting the dialog, the timer remains set at the default of 10 ticks.

tooltips go beneath the NEI gui

Hi, noticed the tooltips go beneath the notEnoughItems mod gui. Makes them hard to read.
2015-03-02_21 09 192015-03-02_21 57 16
I'm a neeb at mineCraft modding but maybe you need to call the codechickenLib drawMultilineTip instead :/

Additional Features 0.9

  • Refactor, simplify gates and gate rendering
  • Portable gates (with Buildcraft support in mind), there will be a socket, a soldering tool and only one item per gate.
  • Make circuits save per world so that they don't waste space for every single item
  • More tooltips and a way to disable them

Bounding boxes are strange

you told me to report this or you'll forget it...

EDIT: For the record to make a good issue out of it, The bounding boxes of the non FMP gates are broken / out of sync with the server which causes the player to bounce around when intersecting. (Vic)

Circuit not operating properly after chunk loads

When a circuit gets loaded after being unloaded, it does not output any redstone/bundled signal, which is bad if the input to the circuit depends on the output. Applying a simple redstone signal makes it operate properly, but I'd rather not have to do that on every world load.

Problem with NEI

[18:54:11] [Server thread/ERROR] [FML]: There was a critical exception handling a packet on channel NEI
java.lang.IndexOutOfBoundsException: Index: 48, Size: 45
        at java.util.ArrayList.rangeCheck(Unknown Source) ~[?:1.8.0_31]
        at java.util.ArrayList.get(Unknown Source) ~[?:1.8.0_31]
        at net.minecraft.inventory.Container.func_75139_a(SourceFile:104) ~[zs.class:?]
        at codechicken.nei.NEIServerUtils.getSlotContents(NEIServerUtils.java:76) ~[NEIServerUtils.class:?]
        at codechicken.nei.NEISPH.setInventorySlot(NEISPH.java:151) ~[NEISPH.class:?]
        at codechicken.nei.NEISPH.handlePacket(NEISPH.java:40) ~[NEISPH.class:?]
        at codechicken.lib.packet.PacketCustom$ServerInboundHandler.handle(PacketCustom.java:115) ~[PacketCustom$ServerInboundHandler.class:?]
        at codechicken.lib.packet.PacketCustom$CustomInboundHandler.channelRead0(PacketCustom.java:75) ~[PacketCustom$CustomInboundHandler.class:?]
        at codechicken.lib.packet.PacketCustom$CustomInboundHandler.channelRead0(PacketCustom.java:62) ~[PacketCustom$CustomInboundHandler.class:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:?]
        at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:?]
        at cpw.mods.fml.common.network.internal.FMLProxyPacket.func_148833_a(FMLProxyPacket.java:77) [FMLProxyPacket.class:?]
        at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212) [ej.class:?]
        at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:165) [nc.class:?]
        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:659) [MinecraftServer.class:?]
        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:334) [lt.class:?]
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [li.class:?]
[18:54:11] [Server thread/INFO]: victorious3 lost connection: TextComponent{text='A fatal error has occured, this connection is terminated', siblings=[], style=
Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null}}
[18:54:11] [Server thread/INFO]: Vic left the game

Placing stone covers in a circle in crafting table crashes game

2015-02-17_22 19 51

java.lang.NullPointerException: Updating screen events
    at vic.mod.integratedcircuits.item.recipe.RecipeFMPGate.func_77569_a(RecipeFMPGate.java:38)
    at net.minecraft.item.crafting.CraftingManager.func_82787_a(CraftingManager.java:323)
    at net.minecraft.inventory.ContainerWorkbench.func_75130_a(SourceFile:53)
    at net.minecraft.inventory.InventoryCrafting.func_70299_a(SourceFile:81)
    at net.minecraft.inventory.Slot.func_75215_d(Slot.java:77)
    at net.minecraft.inventory.Container.func_75144_a(SourceFile:222)
    at net.minecraft.client.multiplayer.PlayerControllerMP.func_78753_a(PlayerControllerMP.java:419)
    at net.minecraft.client.gui.inventory.GuiContainer.func_146984_a(GuiContainer.java:641)
    at net.minecraft.client.gui.inventory.GuiContainer.func_146286_b(GuiContainer.java:607)
    at net.minecraft.client.gui.GuiScreen.func_146274_d(GuiScreen.java:306)
    at net.minecraft.client.gui.GuiScreen.func_146269_k(GuiScreen.java:268)
    at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1628)
    at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:961)
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:887)
    at net.minecraft.client.main.Main.main(SourceFile:148)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

I did manage to have the proper item displayed under weird circumstances, but I cannot reproduce the procedure.

A way to save, load, and share circuits.

Feature request:

Would be nice to be able to save and load circuits from a folder inside the worlds save folder and thus be able to share them too. I am able to load save disks between worlds with the NIE save/load option, though they do tend to change into other items. Are there any other ways i don't know about?

the assembler ate my PCB

In singlePull mode, if you insert another PCB when the assembler is processing it will accept the PCB and run a second time after the first process is completed but produce only one printedCircuitBoard.

Circuit not updating when rotated

When I'm applying a redstone signal to one side of the circuit and then rotate it, the side that was rotated away maintains its redstone strength, which it shouldn't, and the side that was rotated towards the signal doesn't receive it, which it should.

make opposing bundled outputs match?

currently the bundled outputs are rotated, so they're white to black going counter-clockwise; this ends up requiring me to use a lot of space to reverse wire orders at times that wouldn't be necessary if the top and bottom both started with white on right, and both sides with white on top. This would obviously be a breaking change for existing circuits, so if it was going to be done, it ought to be done sooner than later.

Get rid of ADCs/DACs on I/O

ADCs and DACs are bad and you should be able to select if you want them or not. Also IRL circuits can do raw analog (without ADCs/DACs everywhere) so it'd make more sense to not have them there.

Irregular crash when clicking the PCB item onto the CAD

[14:34:09] [Server thread/ERROR]: Encountered an unexpected exception
net.minecraft.util.ReportedException: Ticking memory connection
    at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:198) ~[NetworkSystem.class:?]
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) ~[MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) ~[MinecraftServer.class:?]
    at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) ~[IntegratedServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?]
Caused by: java.lang.NullPointerException
    at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:657) ~[NetHandlerPlayServer.class:?]
    at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) ~[C08PacketPlayerBlockPlacement.class:?]
    at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) ~[C08PacketPlayerBlockPlacement.class:?]
    at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) ~[NetworkManager.class:?]
    at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) ~[NetworkSystem.class:?]
    ... 5 more

Irregular crash when clicking the PCB item onto the CAD, needs further investigating.

Random crash

java.lang.NullPointerException: Unexpected error
    at vic.mod.integratedcircuits.tile.BlockGate.func_149719_a(BlockGate.java:94)
    at vic.mod.integratedcircuits.tile.BlockGate.func_149668_a(BlockGate.java:101)
    at net.minecraft.tileentity.TileEntity.getRenderBoundingBox(TileEntity.java:365)
    at net.minecraft.client.renderer.RenderGlobal.func_147589_a(RenderGlobal.java:481)
    at net.minecraft.client.renderer.EntityRenderer.func_78471_a(EntityRenderer.java:1224)
    at net.minecraft.client.renderer.EntityRenderer.func_78480_b(EntityRenderer.java:1015)
    at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:990)
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:887)
    at net.minecraft.client.main.Main.main(SourceFile:148)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

Absolutely no idea why this happened. Did not interact with this mod at all, with the exception of having an IC in my inventory.

buffer cells not working as intended

(assuming "as intended" is "like the RedPower/Project:Red version of same")

screenshots for reference:
Screenshot
Screenshot2

The buffer has two crossing wires; we'll call the one unbroken in the graphics "top" and the other "bottom" (though note, this is the inverse of the arrangement in RP/P:R)

The bottom wire should work as a normal wire if the top wire signal is low; instead, signals along the bottom wire seem to stop at a buffer cell if the top wire is not powered.

for reference, the Project:Red buffer cell in an effectively identical arrangement, showing expected behavior http://puu.sh/fN9NR/5f8f18bfc6.jpg

moveable iobits and use of outer ring of grid

Feature request:

If you are able to move around and rotate the iobits of coresponding i/o sides in cicuit you would save up on alot of space used up by wires.

The outer ring of the grid is not usable. For 16*16 it is 60 / (256 / 100) = 22,6% of the placement space of the grid. If your able to use these you can make a much more complex circuits on lower tier tech.

I understand this would take alot of work and you ofcourse want to get the bugs out first and complete version 1.

pause, step through simulation in CAD program

it would be quite useful at times when debugging circuit designs to be able to pause the simulation and advance it a tick at a time, to see how signals are flowing through the circuit.

Ingame Help

add tooltips to tell people where to right-click stuff?
I may have a go at this myself if I remember tomorrow...

toggleable outputs on transparent latch

currently the transparent latch takes data in on the left, clock in on the bottom, and outputs the stored state both right and up; it would be nice when compacting designs if you could toggle the output mode, so it output both, only right, or only up, the way you can toggle inputs/outputs on the logic gates, as you could have wires/components directly next to the unused output sides.

name not displayed on disk if using the standard name NO_NAME

when you create a circut with the CAD and save it with the standard name NO_NAME, the name is not displayed on the floppyDisk. If you insert the floppyDisk in the Assembler it does tell the circuit name is NO_NAME. Also the name is also displayed on the created IC.

Crash when clicking CAD with a floppy.

I was trying to figure out how to insert the floppy into the CAD (still not sure about that- it blocks your inventory), and I started spam-clicking the side of the two machines (I stacked them, screenshot below), and I earned this: https://docs.google.com/document/d/1W8JGmdpnDIWcJrS4brvh3i8WSYUQpt2RnFgKigm7Jkg/edit?usp=sharing

Since I was moving a bit, it may have been either machine. Sorry for the uncertainty.

EDIT: I reproduced it without a floppy disk in hand. I was on the CAD, for sure, and I was spamming the front face. The second log was identical.

2015-03-24_18 21 51

bug - changing size of circuit does not always work properly?

the size button on the cad gui doesn't work properly for me. Usually, from a 32x32, clicking it will update to 64x64 as expected, but clicking again doesn't appear to do anything.I say appear, it actually does something, because if I save and re-load, it redraws as the new, blank 16x16 circuit, but if I don't, it continues to display the 64x64, without even clearing the previous circuitry. Worse, making changes to the circuit while it's in this state can cause the game to crash. Clicking the resize button again while it is showing a 64x64 but saving a 16x16 has no effect at all; it will continue to save a blank 16x16 to disk (according to tooltip) until either I load the saved circuit from disk, or exit to the mc menu and re-load the saved game. Same behavior occurs when switching from 16x16 to 32x32.

Running this on v1.7.10, with the new launcher setup (the one that handles it's own java version).
The following are the installed mods:
CodeChickenCore-1.7.10-1.0.4.29-universal.jar
ComputerCraft1.65.jar
Integratedcircuits1.7.10-0.8r26.jar
JourneyMap5.0.1_Unlimited_MC1.7.10.jar
NotEnoughItems-1.7.10-1.0.4.83-universal.jar
ProjectRed-1.7.10-4.5.8.59-* (all 5 sub-mods: Base,Compat,Integration,Lighting, and World)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.