Talk:Visual circuit tutorial: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
Line 21: Line 21:
::::: Well, that '''would''' explain why 20000 caused chromium to simply refuse and firefox to eat All My Memory... For whatever reason, for me using 10000 is "only" causing firefox to take (1.145g-240m) resident and (1.36g-692m) virtual; chromium eats (1.6g-60m) resident and (2.7g-1.6g) virtual (debian sid x86-64) —[[User:Lidnariq|Lidnariq]] ([[User talk:Lidnariq|talk]]) 11:55, 29 May 2013 (MDT)
::::: Well, that '''would''' explain why 20000 caused chromium to simply refuse and firefox to eat All My Memory... For whatever reason, for me using 10000 is "only" causing firefox to take (1.145g-240m) resident and (1.36g-692m) virtual; chromium eats (1.6g-60m) resident and (2.7g-1.6g) virtual (debian sid x86-64) —[[User:Lidnariq|Lidnariq]] ([[User talk:Lidnariq|talk]]) 11:55, 29 May 2013 (MDT)
:::: Another thing that might help, although it does change the appearance a bit, is in "setupBackground", comment out <tt>if((c==0)||(c==6)) ctx.stroke();</tt> (prepend with //). This makes the metal (and polysilicon??) be flat shaded without a border. —[[User:Lidnariq|Lidnariq]] ([[User talk:Lidnariq|talk]]) 15:55, 29 May 2013 (MDT)
:::: Another thing that might help, although it does change the appearance a bit, is in "setupBackground", comment out <tt>if((c==0)||(c==6)) ctx.stroke();</tt> (prepend with //). This makes the metal (and polysilicon??) be flat shaded without a border. —[[User:Lidnariq|Lidnariq]] ([[User talk:Lidnariq|talk]]) 15:55, 29 May 2013 (MDT)
By the way, what program are you using to add the labels? —[[User:Lidnariq|Lidnariq]] ([[User talk:Lidnariq|talk]]) 16:54, 30 May 2013 (MDT)

Revision as of 22:54, 30 May 2013

Cross-coupled inverter

Is that actually an S-R latch? vis. http://en.wikipedia.org/wiki/File:R-S_mk2.gifLidnariq (talk) 12:46, 24 May 2013 (MDT)

Some possible NMOS clarifications

It might be possible to make "in NMOS, transistors are placed in a substrate of n-doped semiconductor" clearer. Does "transistor" here refer to the entire diffusion + poly combo (so that diffusion + poly together are placed on the substrate), or does the n-doped semiconductor make up (or interact with) some particular part of the transistor (like the diffusion, or the polysilicon)? -Ulfalizer (talk) 23:43, 27 May 2013 (MDT)

I misremembered about the substrate; it's a lightly p-doped substrate, vis wikipedia:File:CMOS fabrication process.svg. So I fixed that. The transistor is the sum of all its parts: the substrate (or "body"), both the source and drain N-doped diffusion, the layer of quartz insulator beneath the gate and the layer of polysilicon that is the gate. Arguably it's also the metal or polysilicon vias to the source and drain. Also wikipedia:File:CMOS NAND Layout.svg. Because the gate is placed before the diffusion, the region immediately under the gate is actually not very doped— hence "substrate". —Lidnariq (talk) 00:51, 28 May 2013 (MDT)
I'm happy with the current description then. Gives the general idea without lying or getting bogged down in details (which might be overkill for someone needing to look up "NMOS" in an article like this). -Ulfalizer (talk) 01:03, 28 May 2013 (MDT)

Pictures

Sorry if the page is getting a bit heavy. I guess some of the pictures could be converted to JPEG or a lower bit depth with no big loss. As should be clear from some of the images I'm not exactly a professional illustrator, so recommendations are welcome :P. Thanks for sharpening up those pictures btw! -Ulfalizer (talk) 05:41, 28 May 2013 (MDT)

I think the Best solution is figuring out how to get SVGs out. Those would compress very well, given the subject matter. Next best (and hopefully slightly more practical?) is to figure out how to get firefox/chrome to stop antialiasing the polygons in Visual2X0X. Without the blurry edges, a palettized PNG will be both easy and compress a lot. Finally, I don't think converting to JPEG will help with this—it's best at large regions of comparatively smoothly fading surfaces.—Lidnariq (talk) 11:57, 28 May 2013 (MDT)
I played with it for a bit, and have a few answers. You'll need a locally-downloaded version, because you'll be making a few local changes to the source.
  • To fix blur on really deep zooms (= disable bilinear filtering), in expert.css, in the section "canvas.chip", add this line for firefox: image-rendering: -moz-crisp-edges; or the equivalent line mentioned here: https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering for your browser (But! it's not working for me using chrome 26)
  • To reduce blur on diagonal lines (usually polysilicon), in wires.js, in the function "setupBackground", add these two lines after the "getContext" call: ctx.mozImageSmoothingEnabled = false; and ctx.webkitImageSmoothingEnabled = false
  • To increase the maximum zoom possible and even out irregular pixel spacing, in expertWires.js, near the top, change "grCanvasSize=5000" to some larger value. (for me 20000 breaks horribly. 10000 seems reasonable for getting pretty screenshots) —Lidnariq (talk) 01:43, 29 May 2013 (MDT)
Thanks for the tips! Planning to add a section on those PLA-like circuits (preferably after I figure out what they're actually called :P), but after that I might do a picture clean-up pass. -Ulfalizer (talk) 02:52, 29 May 2013 (MDT)
I've already increased grCanvasSize multiple times - Visual6502 had it set to 2000, and I initially doubled it to 4000 for 2A03/2C02 (because they're much larger) and then just recently boosted it further to 5000. Increasing it further has the side effect of drastically increasing memory usage - setting it to 6000 will make it use a gigabyte of RAM. Also, increasing the actual maximum zoom level is done by adjusting grMaxZoom. --Quietust (talk) 07:13, 29 May 2013 (MDT)
Well, that would explain why 20000 caused chromium to simply refuse and firefox to eat All My Memory... For whatever reason, for me using 10000 is "only" causing firefox to take (1.145g-240m) resident and (1.36g-692m) virtual; chromium eats (1.6g-60m) resident and (2.7g-1.6g) virtual (debian sid x86-64) —Lidnariq (talk) 11:55, 29 May 2013 (MDT)
Another thing that might help, although it does change the appearance a bit, is in "setupBackground", comment out if((c==0)||(c==6)) ctx.stroke(); (prepend with //). This makes the metal (and polysilicon??) be flat shaded without a border. —Lidnariq (talk) 15:55, 29 May 2013 (MDT)

By the way, what program are you using to add the labels? —Lidnariq (talk) 16:54, 30 May 2013 (MDT)