Welcome, Guest. Please login or register.


Author Topic: Internal memory expansion (Read 50745 times)

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13194
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 23.0 Firefox 23.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Internal memory expansion
« Reply #15 on: 2013.September.05. 09:38:58 »
You know how can write program for PAL/GAL?

Offline Saint

  • EP user
  • *
  • Posts: 266
  • Country: gb
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 29.0.1547.66 Chrome 29.0.1547.66
    • View Profile
Re: Internal memory expansion
« Reply #16 on: 2013.September.05. 10:01:45 »
Yes, you can use a few different tools, but I've had a look at WinCUPL. The code for the address decode is --

/* *************** INPUT PINS *********************/

PIN 1    = A21 ;
PIN 2    = A20 ;
PIN 3    = A19 ;
PIN 4    = A18 ;
PIN 5    = A17 ;
PIN 6    = A16 ;
PIN 7    = _MREQ ;
PIN 8    = _RFSH ;
 
/* *************** OUTPUT PINS *********************/

PIN 12    = _EN ;

/***************** EQUATIONS ***********/

_EN = !(A21 & A20 & (A19 $ (A18 & A17 & A16)) & !_MREQ & _RFSH);


You can probably use your eprom programmer to program the PAL. My eprom programmer is so old it needs a parallel port and Windows XP, so I think I'm going to have to buy a new programmer which works with USB and Win7 x64!

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13194
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 23.0 Firefox 23.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Internal memory expansion
« Reply #17 on: 2013.September.05. 10:17:26 »
Quote from: Saint
Yes, you can use a few different tools, but I've had a look at WinCUPL. The code for the address decode is --
Thanks! It looks very simple, great!
I think the Spectrum Emulator card can be very reduced with GALs :-)

Quote
You can probably use your eprom programmer to program the PAL.

Yes, my program can program PAL/GAL. (It is also, old but works under W7 x64, I just put a PCI LPT card to my PC :-) )
« Last Edit: 2013.September.05. 12:37:41 by szipucsu »

Offline Saint

  • EP user
  • *
  • Posts: 266
  • Country: gb
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 29.0.1547.66 Chrome 29.0.1547.66
    • View Profile
Re: Internal memory expansion
« Reply #18 on: 2013.September.05. 10:25:38 »
Annoyingly I only have a small shuttle case, and both of my PCI slots are used up by my graphics card! :mad:

Offline Saint

  • EP user
  • *
  • Posts: 266
  • Country: gb
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 29.0.1547.66 Chrome 29.0.1547.66
    • View Profile
Re: Internal memory expansion
« Reply #19 on: 2013.September.11. 15:10:26 »
I found some time last night to do the schematic and PCB layout for a 512KB SRAM expansion using a PAL for address decoding. It's come out really nicely -- less than 5cm square. Which means I can get it fabricated extra cheaply in China! :)

I was going to wait until I got my PCB's back from my HDMI project, but I may just go ahead and order these as well now, as it's only going to cost something like £12 to get 10 boards made.

PCB mock-up below!
« Last Edit: 2013.September.11. 15:17:37 by Saint »

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13194
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 23.0 Firefox 23.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Internal memory expansion
« Reply #20 on: 2013.September.11. 15:15:46 »
Nice! :smt041

Offline Bagpuss22

  • EP fan
  • *
  • Posts: 162
  • Country: gb
  • OS:
  • Windows Server Home/Server 2003 Windows Server Home/Server 2003
  • Browser:
  • MS Internet Explorer 8.0 MS Internet Explorer 8.0
    • View Profile
Re: Internal memory expansion
« Reply #21 on: 2013.September.12. 16:04:25 »
Very Nice.......

I agree with Zozo that it would be good to see if the Spectrum Emulator can be
addressed in the same way.....

Russ
« Last Edit: 2013.September.12. 16:13:18 by Bagpuss22 »

Offline Saint

  • EP user
  • *
  • Posts: 266
  • Country: gb
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 29.0.1547.66 Chrome 29.0.1547.66
    • View Profile
Re: Internal memory expansion
« Reply #22 on: 2013.September.12. 16:30:58 »
Quote from: Bagpuss22
Very Nice.......

I agree with Zozo that it would be good to see if the Spectrum Emulator can be
addressed in the same way.....

Russ
Yeah, I had a quick look at the schematics for the spectrum emulator last night as bedtime reading... :)

I'll see if I can understand what it's doing and come up with a modern take on it.

I've been thinking about the SD card <> PIC interface and a 5v tolerant CPLD (the Altera MAX 3000A is my preference) is by far the easiest and cheapest way of doing it. I believe the spectrum emulator would be the same solution, it would all fit in one CPLD.

You may even be able to fit a spectrum emulator into the CPLD with the PIC interface, as I dont believe it's very complicated!

Offline lgb

  • EP addict
  • *
  • Posts: 3496
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 30.0.1599.37 Chrome 30.0.1599.37
    • View Profile
    • http://lgb.hu/
Re: Internal memory expansion
« Reply #23 on: 2013.September.12. 17:36:32 »
Quote from: Saint
I've been thinking about the SD card <> PIC interface and a 5v tolerant CPLD (the Altera MAX 3000A is my preference) is by far the easiest and cheapest way of doing it. I believe the spectrum emulator would be the same solution, it would all fit in one CPLD.

You may even be able to fit a spectrum emulator into the CPLD with the PIC interface, as I dont believe it's very complicated!

If you want to use a CPLD maybe it should be considered to implement a general SPI interface in CPLD without the help of an MCU at all. Well it sounds odd, but somehow I always feel it's a bit cheating like action to connect an MCU to a 8 bit machine having more powerless CPU than the MCU itself ... The only disadvantage of this is the fact that you have to implement SD card init sequence and handling by Z80 code itself, directly. But it's a more "the EP is the boss" feeling then :) By the way, for 65xx bus system there is an existing "product" for creating an SPI interface "chip" with the help of CPLD with a Xilinx part (xc9572), the name of the project is 65SPI. Similar solution can be created for the EP bus too. Of course, if you have spare gates available, you can implement extra stuffs as well, like logic of a Spectrum emulator, etc :)

Offline Saint

  • EP user
  • *
  • Posts: 266
  • Country: gb
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 29.0.1547.66 Chrome 29.0.1547.66
    • View Profile
Re: Internal memory expansion
« Reply #24 on: 2013.September.13. 10:33:59 »
Hmm, as the CPLD is obviously reprogrammable, what I could do is hook up all the useful signals from the bus to the CPLD and have quite a generic Enterprise hardware expansion. You could have headers for I/O lines which could be used for a generic SPI interface, and a PIC chip for other more complex tasks. The PIC itself can be reprogrammed to provide other functionality as well if required, or removed altogether if you wanted to do the SD card SPI work on the EP.

I'll have a think about that... it would turn quite a few hardware expansions into a much simpler VHDL programming job.

Offline lgb

  • EP addict
  • *
  • Posts: 3496
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 30.0.1599.37 Chrome 30.0.1599.37
    • View Profile
    • http://lgb.hu/
Re: Internal memory expansion
« Reply #25 on: 2013.September.13. 10:47:13 »
I also wanted to create an SD-interface solution with the help of an MCU (AVR, not PIC, but it's matter of personal taste and knowledge only). I would prefer CPLD (for various reasions including the feeling of using an MCU with a 8 bit computer, as I've told), the only problem that I am totally dumb for programming hardware decription lanugages (ie VHDL and/or Verilog) while I can write code for AVR at least using both of C or AVR assembly ...

Offline Saint

  • EP user
  • *
  • Posts: 266
  • Country: gb
  • OS:
  • Mac OS X Mac OS X
  • Browser:
  • Safari 6.0 Safari 6.0
    • View Profile
Re: Internal memory expansion
« Reply #26 on: 2013.September.13. 20:25:58 »
I've ordered a batch of 10 pcb's now, for the bargain price of under £10. At that price I couldn't resist. :) Now I just have to wait for about 5 weeks for them to turn up.

I also added a spare pad for A15 as I plan to install Zozo's updated EXOS ROM with the expansion. It'll give me an easy place to connect up the missing address line.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13194
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 23.0 Firefox 23.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Internal memory expansion
« Reply #27 on: 2013.September.13. 22:18:36 »
Quote from: Saint
I've ordered a batch of 10 pcb's now, for the bargain price of under £10.
Where you order?

Offline BruceTanner

  • EP user
  • *
  • Posts: 466
  • Country: gb
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 29.0.1547.72 Chrome 29.0.1547.72
    • View Profile
Re: Internal memory expansion
« Reply #28 on: 2013.September.13. 22:29:50 »
Quote from: Zozosoft
Where you order?
I would be interested to know that too!

Offline Saint

  • EP user
  • *
  • Posts: 266
  • Country: gb
  • OS:
  • Mac OS X Mac OS X
  • Browser:
  • Safari 6.0 Safari 6.0
    • View Profile
Re: Internal memory expansion
« Reply #29 on: 2013.September.13. 22:42:38 »
I have placed a couple of orders with :

http://www.tinyosshop.com/

I haven't had any boards through yet, so I don't know the quality, but I've seen quite a few good comments about them on the web. For the price I figured it was worth a go. It works out cheaper than making the boards myself, and you get through hole plating and solder mask! Plus it means I can do vias under SMD components which makes life a lot easier. :D