Trivial circuits for sbc
Trivial circuits for sbc
Well, when i started building my sbc, i just placed pull up resistors to the irq, nmi, rdy, so inputs, and left them "for later".
Now "later" has came so i first tried to build the automatic reset circuit when power comes up. I tried using 555, op amps, but i just didn't have any luck...
Now i need to build also multiple rdy and irq inputs, that should not be a problem...
But now my question are:
To which circuits should i give the control of the nmi input?
How can i use the so input?
How to make the auto reset circuit?
I hope this helps other too, since this is a "trivial pack"...
Also a funny fact, i have probably more that 200 ic, but i don't have a single or gate!
Now "later" has came so i first tried to build the automatic reset circuit when power comes up. I tried using 555, op amps, but i just didn't have any luck...
Now i need to build also multiple rdy and irq inputs, that should not be a problem...
But now my question are:
To which circuits should i give the control of the nmi input?
How can i use the so input?
How to make the auto reset circuit?
I hope this helps other too, since this is a "trivial pack"...
Also a funny fact, i have probably more that 200 ic, but i don't have a single or gate!
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Quote:
To which circuits should i give the control of the nmi input?
I have an "Abort" button on the same VIA which I can set up in software to cause an NMI to get the processor's attention. This lets you take back control from a crashed program, without resetting all the I/O ICs; so it's less drastic.
We're often told to reserve the NMI for something drastic like power going down; but in most systems the people on this forum are making, what happens in the last milliseconds before power is gone is of no concern. If you have a system that remembers things when it's off, it probably has batteries and can turn itself off in an orderly fashion. There's no time to store anything useful on a disc. If the 6522 used for the RTC goes on the 6502's NMI\, polling for interrupt sources on IRQ\ is simplified, and the RTC never misses a beat when other interrupts hit or are masked.
Quote:
How can i use the so input?
Quote:
How to make the auto reset circuit?
Edit: RST page in my 6502 primer: http://wilsonminesco.com/6502primer/RSTreqs.html
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
There's a video online(*) of Samuel's recent presentation of his single-board Forth machine. At one point he inputs a bad program, resets and continues where he left off. He points out he can do that because he has no destructive memory test. Maybe, in the absence of a fast peripheral like a disk drive which needs NMI's rapid response(+), you could use NMI to do a non-destructive reset into a monitor program. Then you don't need that 'Cold/Warm' prompt at reset time: just have one each Reset and Debug button.
(*) Ogg format: you may need to use VLC to play it.
(+) In Acorn's BBC micro, the NMI is used for the disk interface. It's rapid response because it's used only for one purpose, and the handling routine is in RAM so can be patched for each upcoming operation, whether a disk read or a disk write. More details
The SO pin is for even more rapid response: used in the C64's disk drive's firmware, for polling a single input in a tight loop which checks the overflow flag. I think very few systems use this: you can't do ordinary arithmetic and then check overflow if there's any chance some hardware will set the overflow flag mysteriously.
Cheers
Ed
(*) Ogg format: you may need to use VLC to play it.
(+) In Acorn's BBC micro, the NMI is used for the disk interface. It's rapid response because it's used only for one purpose, and the handling routine is in RAM so can be patched for each upcoming operation, whether a disk read or a disk write. More details
The SO pin is for even more rapid response: used in the C64's disk drive's firmware, for polling a single input in a tight loop which checks the overflow flag. I think very few systems use this: you can't do ordinary arithmetic and then check overflow if there's any chance some hardware will set the overflow flag mysteriously.
Cheers
Ed
Dajgoro wrote:
Well, i was trying to make a Schmitt trigger from opamps and 555. I should give it another try.
Regarding the SO input,
GARTHWILSON wrote:
Most designers have respected its obscurity and left it alone.
-- Jeff
- BigDumbDinosaur
- Posts: 9425
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
BigEd wrote:
I think very few systems use this: you can't do ordinary arithmetic and then check overflow if there's any chance some hardware will set the overflow flag mysteriously.
Code: Select all
SEI ;IRQs off
WAI ;wait for IRQ...MPU will do nothing else while waiting
...IRQ handler follows...x86? We ain't got no x86. We don't NEED no stinking x86!
- BigDumbDinosaur
- Posts: 9425
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Power Supply
Dajgoro wrote:
What kind of power supply do you(all of you) use for the sbc projects? I've been using the 7805, but is there a better solution? What if some day i decide to install a hard drive, and my nmos ic are kinda power hungry already.
x86? We ain't got no x86. We don't NEED no stinking x86!
Re: Power Supply
BigDumbDinosaur wrote:
Dajgoro wrote:
What kind of power supply do you(all of you) use for the sbc projects? I've been using the 7805, but is there a better solution? What if some day i decide to install a hard drive, and my nmos ic are kinda power hungry already.
Anyway are there some more powerful versions of the 7805?
(Nice desk, i noticed that everyone uses the same crocodile wires, including me...)
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Quote:
Anyway are there some more powerful versions of the 7805?
- use more of them, each one local to the circuitry it's powering up , all fed from the the same input voltage & supply
- use a voltage follower power transistor with a bigger heat sink (and put a diode in the 7805 ground circuit to make up for the B-E voltage difference from the transistor so you still get 5V out)
- if efficiency and heat (and not just amperage) is the issue, use an integrated switching regulator like the Power Trends 78SR105
- use an LM317 or LM350, especially the 350 with the K ending (ie, TO-3 case for better heat dissipation), which will give you at least 3A and typically up to 4.5A
- BigDumbDinosaur
- Posts: 9425
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: Power Supply
Dajgoro wrote:
Actually i have a 1M tall tower of dead atx power supplies on my attic...
Quote:
Anyway are there some more powerful versions of the 7805?
Quote:
(Nice desk, i noticed that everyone uses the same crocodile wires, including me...)
x86? We ain't got no x86. We don't NEED no stinking x86!
BigEd wrote:
you could use NMI to do a non-destructive reset into a monitor program.
In the case of the Commodore 64 and 128, it dropped back into BASIC. But, the NMI vectors through RAM, and can be changed to do whatever you want.
As for the 4000-7400 conversation from the crtc topic, i went to replace my 4000 glue logic with 74ls. It worked all fine until i replaced the CD4069 with the 74ls04, when i replaced it the sbc would not start even at 500khz. While when i replaced the 4081 with the 74ls08, all worked well. My glue logic is based on sbc-2, except i used and and not gates. the rest of the sbc logic is also 74ls(2-4 decoders and latches).
Edit: Now when i replaced the 4081 with 74ls08 i can get EhBasic working kinda stable again @ 2MHz with the 1MHz 6502 version(usually it would crash when i would enter a line of code like 10 INPUT A).
Edit: Now when i replaced the 4081 with 74ls08 i can get EhBasic working kinda stable again @ 2MHz with the 1MHz 6502 version(usually it would crash when i would enter a line of code like 10 INPUT A).