Hi,
Firstly may I compliment you on an awesome piece of software.
It is an amazing learning/teaching tool.
I would like to suggest the following:
Primitive Gate (e.g. AND Gate) I/O orientation as per the splitter widget. I know you can do this
by using a circuit block, but it is cumbersome.
Standard icons for primitive gates.
Ability to modify colors of icons (color property).
Text block for comments in circuit.
Drop-down (expand/contract) type structure for left hand side Project items (less clutter).
The ability to read/write RAM to disk (Disk I/O block).
Keyboard interface block. (I've built a Hex keyboard and it's quite a mission) .
A primitive pixel block for display purposes (say 128X80 pixels).
The 8-Segment LED is quite limiting.
Cheers,
Jac
A Few more Sugggestions...
Re: A Few more Sugggestions...
Hi Jac,
Thank you for your suggestions.
Can you please clarify a couple things?
What do you mean by standard icons? If it is about a shape of gate then have you tried to select shaped gates in the Options dialog (in the menu click Tools/Options)?
What scenario you have in mind for RAM read/write? Do you mean sort of hard drive in addition to RAM/ROM or something else?
Thank you,
Eugene
Thank you for your suggestions.
Can you please clarify a couple things?
What do you mean by standard icons? If it is about a shape of gate then have you tried to select shaped gates in the Options dialog (in the menu click Tools/Options)?
What scenario you have in mind for RAM read/write? Do you mean sort of hard drive in addition to RAM/ROM or something else?
Thank you,
Eugene
Re: A Few more Sugggestions...
Hi Eugene,
Yes it was about the shape of the gate. Thanks for pointing me in the right direction.
Regarding the RAM I/O:
Maybe you could have circuit blocks roughly as follows:
Input block
a 2-bit source pin (00 = keyboard, 01 = hard drive, and 10, 11 spare)
a 8-bit file name pin (if source is 01). The byte must be ASCII. This will allow 1 character file names (no extension)
a 8-bit (n-bit?) data pin. Data is binary.
a 1-bit flag for data available/not available.
Output block
a 8-bit file name pin. The byte must be ASCII. This will allow 1 character file names (no extension)
a 8-bit (n-bit?) data pin. Data is binary.
a 1-bit flag for ready to accept data or busy.
Files will be created to/read from the folder where the project is located.
If a file exists (on create), it will be over-written.
On error, do nothing.
Why would this be cool?
I could build a micro instruction based machine. I could create instructions in a file and read
them using a routine in ROM. I can execute these instructions using some command from the keyboard.
I can write results to disk. I can even write an assembler in say C# to generate an executable file.
I don't know if this makes sense...
Cheers,
Jacques
Yes it was about the shape of the gate. Thanks for pointing me in the right direction.
Regarding the RAM I/O:
Maybe you could have circuit blocks roughly as follows:
Input block
a 2-bit source pin (00 = keyboard, 01 = hard drive, and 10, 11 spare)
a 8-bit file name pin (if source is 01). The byte must be ASCII. This will allow 1 character file names (no extension)
a 8-bit (n-bit?) data pin. Data is binary.
a 1-bit flag for data available/not available.
Output block
a 8-bit file name pin. The byte must be ASCII. This will allow 1 character file names (no extension)
a 8-bit (n-bit?) data pin. Data is binary.
a 1-bit flag for ready to accept data or busy.
Files will be created to/read from the folder where the project is located.
If a file exists (on create), it will be over-written.
On error, do nothing.
Why would this be cool?
I could build a micro instruction based machine. I could create instructions in a file and read
them using a routine in ROM. I can execute these instructions using some command from the keyboard.
I can write results to disk. I can even write an assembler in say C# to generate an executable file.
I don't know if this makes sense...
Cheers,
Jacques
Re: A Few more Sugggestions...
Hi Jacques,
It is possible even right now to load ROM from file. If you double click symbol of ROM on your circuit then in the dialog there is a Load… button. Click this button and choose the file you want to load in the memory.
Eugene
It is possible even right now to load ROM from file. If you double click symbol of ROM on your circuit then in the dialog there is a Load… button. Click this button and choose the file you want to load in the memory.
Eugene
Re: A Few more Sugggestions...
Hi Eugene,
Thanks for the info...
In fact I am using ROM as 3/8 and 4/16 line decoders - its quite a mission to create these from scratch.
Also my hex keyboard uses ROM for decoding keystrokes to the relative 8-segment LED pin inputs.
I've created the code in file and loaded the ROM(s) where required.
With the I/O blocks I mentioned; I guess I'm just looking for the creative options that these
would provide.
Cheers,
Jacques
Thanks for the info...
In fact I am using ROM as 3/8 and 4/16 line decoders - its quite a mission to create these from scratch.
Also my hex keyboard uses ROM for decoding keystrokes to the relative 8-segment LED pin inputs.
I've created the code in file and loaded the ROM(s) where required.
With the I/O blocks I mentioned; I guess I'm just looking for the creative options that these
would provide.
Cheers,
Jacques