Click here to Skip to main content
15,887,135 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: No sacrifice, no victory Pin
CodeWraith1-Jul-20 9:06
CodeWraith1-Jul-20 9:06 
GeneralRe: No sacrifice, no victory Pin
RedDk1-Jul-20 8:12
RedDk1-Jul-20 8:12 
GeneralRe: No sacrifice, no victory Pin
CodeWraith1-Jul-20 9:37
CodeWraith1-Jul-20 9:37 
GeneralRe: No sacrifice, no victory Pin
CPallini1-Jul-20 23:32
mveCPallini1-Jul-20 23:32 
GeneralRe: No sacrifice, no victory Pin
CodeWraith2-Jul-20 1:26
CodeWraith2-Jul-20 1:26 
GeneralRe: No sacrifice, no victory Pin
CPallini2-Jul-20 1:31
mveCPallini2-Jul-20 1:31 
GeneralRe: No sacrifice, no victory Pin
ElectronProgrammer2-Jul-20 2:00
ElectronProgrammer2-Jul-20 2:00 
GeneralRe: No sacrifice, no victory Pin
CodeWraith2-Jul-20 5:01
CodeWraith2-Jul-20 5:01 
Quote:
You mentioned the CDP1802 and, from what I read, it already has 16bit address but they are time multiplexed in 8bit. The best you can have is to insert an 8bit flip-flop to store the high 8bit of the address (or the low 8bit, whichever is sent first). There is probably some signal (pin or pins) that it uses to indicate when the first 8bit are sent and when the second 8bit are sent. You will need that to synchronize storing the address (allowing/disallowing writing to the flip-flops).
You are right, latching the upper address bits is the first thing that's done in every bus cycle. Originally there were quite a few RAM and ROM chips that took only 8 address bits and the timing signal to latch the 16 address bits internally. These devices are now too small, too slow and almost impossible to get in any useful numbers, so an external latch has always been the standard. In the past this would have been a pair of 74C174s Or 40XX (CMOS!) or now (glimpsing at the breadboard) a single 74HC373.

Unfortunately we are talking about the data lines, not the address lines. The processor does not multiplex the data bus in any way. It's a strictly 8 bit CPU, quite unusual for a RISC processor.

Look at this IDE port for Z80 systems: An 8-bit IDE interface @ Retroleum[^]

That looks like a good compromise. Two reads or writes for every access to the disk controllers, once to the latches for the upper 8 data bits and a second one for the lower data bits to the bus 'HC245 bus driver. I need to adapt the decoding logic a little, because everything is done the Z80 way, but that's no real problem. Bit banging on a parallel port would be much slower and just ignoring the upper data bits would be extremely wasteful.


ElectronProgrammer wrote:
Keep in mind that, with 16bit, the most memory you can address is 65536 positions of 8bit, or 64kB.
I expanded the address bus a little to 24 bit. So make that 16 Mb. 32 bit would also be no problem. Nothing special, just paged memory. A little detail of the processor's way to call subroutines allows me to hide the page switching, so that I can call code anywhere in that space without the processor noticing anything. Unfortunately that does not work for data, the stack, DMA or interrupts. For that, the page registers would have to be part of the processor.

ElectronProgrammer wrote:
On a computer, you would have to either write a program that could handle this custom filesystem or write a FUSE layer to handle it seemingly. Writing a program that simply exports/imports all files from/to the filesystem to the filesystem of the computer is the easiest.
First things first. I will just get this working on the first prototype on the breadboard. Then I can build the second one with expanded memory (just 1 meg. Smile | :) )and (hopefully) some mass storage device. Once that is built, I can still worry about the OS, the file system or comfort.
I have lived with several Zen masters - all of them were cats.

His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

GeneralRe: No sacrifice, no victory Pin
ElectronProgrammer2-Jul-20 9:54
ElectronProgrammer2-Jul-20 9:54 
GeneralRe: No sacrifice, no victory Pin
CodeWraith2-Jul-20 11:34
CodeWraith2-Jul-20 11:34 
GeneralRe: No sacrifice, no victory Pin
AlphaNerd2-Jul-20 7:39
AlphaNerd2-Jul-20 7:39 
GeneralOK - Now I Get It ! Pin
W Balboos, GHB1-Jul-20 0:57
W Balboos, GHB1-Jul-20 0:57 
GeneralRe: OK - Now I Get It ! Pin
Slacker0071-Jul-20 1:32
professionalSlacker0071-Jul-20 1:32 
GeneralRe: OK - Now I Get It ! Pin
ZurdoDev1-Jul-20 1:42
professionalZurdoDev1-Jul-20 1:42 
GeneralRe: OK - Now I Get It ! Pin
musefan1-Jul-20 1:45
musefan1-Jul-20 1:45 
GeneralRe: OK - Now I Get It ! Pin
W Balboos, GHB1-Jul-20 1:51
W Balboos, GHB1-Jul-20 1:51 
GeneralRe: OK - Now I Get It ! Pin
dandy721-Jul-20 3:26
dandy721-Jul-20 3:26 
GeneralRe: OK - Now I Get It ! Pin
W Balboos, GHB1-Jul-20 3:48
W Balboos, GHB1-Jul-20 3:48 
GeneralRe: OK - Now I Get It ! Pin
ZurdoDev1-Jul-20 1:58
professionalZurdoDev1-Jul-20 1:58 
GeneralRe: OK - Now I Get It ! Pin
Slacker0071-Jul-20 2:16
professionalSlacker0071-Jul-20 2:16 
GeneralRe: OK - Now I Get It ! Pin
Slacker0071-Jul-20 2:18
professionalSlacker0071-Jul-20 2:18 
GeneralRe: OK - Now I Get It ! Pin
musefan1-Jul-20 1:43
musefan1-Jul-20 1:43 
GeneralRe: OK - Now I Get It ! Pin
W Balboos, GHB1-Jul-20 1:47
W Balboos, GHB1-Jul-20 1:47 
GeneralRe: OK - Now I Get It ! Pin
musefan1-Jul-20 1:54
musefan1-Jul-20 1:54 
GeneralCCC Pin
pkfox30-Jun-20 22:18
professionalpkfox30-Jun-20 22:18 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.