http://members.tripod.com/theover/bwiseapp.html http://members.tripod.com/~theover/tcl4.html http://members.tripod.com/~theover/tcltk.html http://members.tripod.com/~theover/pcore.html http://members.tripod.com/~theover/sample.htmlWhere the last two examplify the use of an existing schematic capture/simulation program, which is still around somehow under a different company, based on spice (a well known electronics simulator of old) with additions for (efficient) digital part simulation.The simulator which could be downloaded for free (in demo version) years ago at least has proven handy:
http://members.tripod.com/~theover/sim1.htmlThe master slave flip flop on the bottom of the page is obligatory reading for anyone who wants to claim computer or software or even the-whole-of-life-because-a-computer-works-so-and-so designs or proofs on the basis of important or generally valid considerations. When those considerations fail when the example is taken into account or by the example, the reasoning has been disproven, and is therefore incorrect, mathematically.Note that the master slave flip flop is a basic computer building block which can be found in hardware books from the 70's onward of any serious for isntance ttl part supplier, and which sits in some form in static memories, probably in some variation also in (cmos) processor register logic, and at that very low level of complexity (for advanced designers) disproofs any computer related proof which based on functional composition wants to proof something general about practical von Neumann machines.Not wanting to go all the way to make such simulator, too, which is a lot of work, and requires a lot of electronics models, and preferably freely available parts of spice to begin with, I did want to make some electronics and digital part points with bwise, because especially in such design, the same issues arise as with other block wise things in life, such as workflow and also graphs to facititate software design.I've in various ways been into computer design, this page
http://members.tripod.com/~theover/Z80_web/z80sys.htmshows a led display unit and dma based drive print I did in highschool (like 1980) after my own design, which still prooved handy when much more recent I did various microcomputer builds to proof some points, and at least also to a crowd I was forced to work with that I DO have the skills to make computer at least tick to begin with, and that may hardware (as it was some years ago) would with good kitchentable equivalent workmanship even be competitive and valid as fast when needed.Clearly, in certain ways bwise can be use to design, simulate and instruct in such designs, though emulating a Z80 is not so trivial in tcl for instance.A 7 segment (I did a 35 segment on some of the bwise pages) simulation and the idea of functional logic, and then maybe some clock signals and memory containing units like memory of stack can be quite rewarding though, and is quite possible with bwise 0.34 (which is later than 0.5 mentioned on some older page), though I didn't at all much make it into a decent namespaced, foolproof UI heavily baloon documented, swift to learn and trivial to deploy word like application. I'm not funded for that you see...Lastly, a very serious use which at times has been the motivation to continue or promote bwise somewhat is software design linked with audio processing (possibly video / graphics too, but I never did that in that way yet).Some of the above pages mention the drum application which links with the drum button on bwise. When I made that years ago it would on all windows systems I tried render the drum pattern into a .wav audio file which would play as a sound file, which could either be made of completely synthetic drum sounds, or of a set of Lynn drum samples, and sounded more than cool enough in various circumstances to have proven useful.I didn't recently package the whole into a recent bwise+C source and executables for for instance windows and linux, so I guess some I will have lost on the subject, but it realy works, effectively the executable simply needed to be in the directory bwise was started in, the drum pattern created, drum render pressed, and: wav file played.I did volume sliders and various other possible bwise extensions and the whole should be useable to design audio flows and audio program execution flows.A but more recently I linked tcl/tk with a top audio research application I'm still into but didn't get to work on much lately: a real time sound output, midi driven, 3D graphics prepared simulation vibrating stings and electrical guitar like feedback.That program does about 6 strings each made of about a hundred individually differential equation simulated string segments, string end point damping, and overall feedback under control of a midi synthesizer modulation wheel, velocity dependent, spectrum adapting string excitation and pitch bend on a reasonable fast machine.I might continue the tck/tk / bwise interface I made for that program also, which allowed a socket connection to (as it can thus far) inquire as to the state of the string(s) at any point in time, while the realtime simulator core is running, and display the displacements as a graph on a canvas.Finally, and that too has scientific use background, I'd like to be able to lets say program tcl by going from command line to decomposed block notation, preferably automatically both ways, and preferably in good interactive ways like in a shell with globbing and arrow editing...And than have powerfull relatively simple but non-trivial blocks to do stuff like I made example pages on: decent flow control, socket connections and their basic use, and direct links with OS provided programs, preferably even beyond that: playing around with stdio and connectivity.Also, I like the idea of the bwise canvas to hold (parts of) a user interface, which makes sense given you can see the connections between the parts. In the time of the NeXT computer, I remember vividly a lecture on making a user interface for a simple program like on the model view controller page, and make that whole work decently and correctly, not that I couldn't, I did interactive real time midi (network) database and midi signal programming long before, and even sold the product to satisfied customers (for not much, btw), but because it isn't dealt with in many classes and because it wasn't at all easy on workstations to do that right, and especially not in a general and framework-like way.(anyone get to here...?)
Category Discussion - Category Bwise