Thank you for posting this. I'm trying to revive an old S100 system, and this little NOP-JP routine let me see the CPU was functioning properly with respect to reading the EPROM and executing instructions
@everlitesv3 жыл бұрын
Great video. Just today I was in the z80 peripherals datasheet trying to work out the relationship between M1 IOREQ and RD trying to wire up the PIO on my breadboard z80.
@CircuitBreaker2563 жыл бұрын
I'll look at the other pins in subsequent videos!
@lak08033 жыл бұрын
Scope out the refresh pin on halt opcode. Refresh signal can be used for CAS before RAS refresh.
@CircuitBreaker2563 жыл бұрын
i'll look into it
@MRCAGR13 жыл бұрын
The refresh line has to go low when there’s no processor activity requiring the data and address buses, I.e. instruction decode and execution. This would be when M1 is inactive, when the refresh line goes low the R register contents are put on the data bus to refresh DRAM. It is analogous to the M1 being required to access the data bus for exactly the same reason.
@TomStorey963 жыл бұрын
R register contents go to A0-6, not the data bus. And yep, only 7 bits.
@MRCAGR13 жыл бұрын
@@TomStorey96 I was trying to remember from when I was introduced to the Z80 hardware 40 years ago!
@TomStorey963 жыл бұрын
@@MRCAGR1 it's crazy to think they have been around that long. I've only been working with them for the last couple of years. Much nicer than the 6502 IMO. :)
@MRCAGR13 жыл бұрын
@@TomStorey96 I was working at what is now the University of the West of England, and they had just purchased a National Semiconductor INS8060 SC/MP evaluation kit, then they decided to upgrade and I suggested the NASCOM 1(Z80 based with 1k RAM in kit form). I prefer the Z80 as an 8 bit machine. The BBC used a Z80 to drive one of their interprogramme graphics in the early 80’s.
@nonchip3 жыл бұрын
"i can't think of any application at all for the refresh pin" well i can, to refresh DRAM, and naively count instructions* ;) other than that the R register was abused a lot for cheap RNG seeding and stuff like that, but mostly by reading it in code. but you could totally abuse it as a 127bit counter output that tracks instructions. like hook it to a "if refresh is low and this address is on the bus, send an NMI" circuit to interrupt into some kind of debugger after a certain amount of instructions maybe. but usually there's better (e.g. M1 counting or instruction patching) ways of achieving such a thing, but if you're on a budget.... people have done video in software on those things SINCLAIR, abusing the refresh signal sounds like the least ugly application. like imagine you want some kinda multitasking scheduler to give every task their share of N (for N
@HelloWorldETX3 жыл бұрын
refresh can be used to create an output port kzfaq.info/get/bejne/etqJi5thzanHdGQ.html