The Disciple clone... doable?

1235»

Comments

  • edited March 2013
    1024MAK wrote: »
    Tantalum capacitors are polarised. Normally they have a small + sign marked on them.

    Mark

    There is always something new to learn, thanks! I remember I used 1uF non-polarized capacitors, squared in shape, so they weren't tantalum. My bad!
  • edited March 2013
    The choice of disks is between SD and DD on Disciple.
  • edited April 2013
    Hi.
    It's been a while.
    I know the disciple doesn't accept HD disks, in fact, as I said, even fooling the FDD to believe It has a DD disk inside, doesn't work, so I'm "hunting" for all my old DD disks.
    Anyway, I managed to get my hands on a 128k+, and after substitution of all the electrolytic capacitors and some damage to the membrane of the keyboard, some resoldering of the 7805 regulator, cleaning, etc, I plugged It again yesterday. The disciple works great on 128k mode, I didn't test much beacuse I'm still waiting for a logic analyzer and the gal programmer, thanks to bsrtee, in this thread, who published the gal files:

    http://www.worldofspectrum.org/forums/showthread.php?t=43253

    We have now the gal files to test.

    On another hand I'm havind some odd problems loading programs in the 128K, the 48k+ I have loads almost anything and I was happy to see that, with a proper amplifier, It loaded from a CD player where I put the latest disciple utility tape found here in WoS, the 128K is not deaf, you can see the loading bars but It gets interrupted as in a "broken" tape, I must check again the pcb or try another source, but If the 48K loads from the same source I fail to see the problem, the CD is 44.1Khz 16bits, a tape recorder roughly gets to 11Khz as I recall.
    Anyway, those are problems that have nothing to do with the disciple, I plugged It, turned the 128K and in 128k mode the system disk works great, I have now two FDD and loaded a 48kb snapshot from D2, worked fine, I know I have to get readings from a logic analyzer to know exactly the code the z80 is doing from the reset to the first "beep" I hear through the TV, but in fact the disciple works on a 128K "toast rack". This unit is a spanish model by Investronica, and has no "menu" on screen when reseting, simply goes to 128k mode with the cursor on the lower part of the screen which doesn't interfere when doing "cat" commands.
    I'm working on the schematic, but I do not want to give a "wiring" only, I'm drawing the chip models with the inputs on the left and outputs on the right, most models on CAD programs ignore this, specially on the WD1772, so I'm trying to give it my best shot.

    I will post more when I repair this 128K, I do not think the ULA could me damaged, maybe the "ear" circuit has to be checked, I've read somewhere that the 128K is more tricky when loading, I will be doing that today. I want the 128K to work without the disciple and then test it properly with the disciple.

    Kind regards and thanks for the gal equations!
  • edited April 2013
    If anyone need replace PAL chips with modern GAL chips then need know also one undocumented feature:

    GAL16V8 and GAL20V8 chips after power on use internal pull-down 10K on pin 2. This pull-down is measurable only after power-on.

    In some HW designs for ZX is not good connect pin2 of this GAL type with high adress lines (A8-A15) or other signals as RD,WR... I use this pin often only as input from other external IC components/jumpers/switches...

    GAL22V10 not use this pull-down on pin 2 and can be used as best replacement of PAL20L8
  • edited April 2013
    Hi.
    I've read the lattice datasheet:
    http://www.latticesemi.com/lit/docs/datasheets/pal_gal/20v8.pdf?jsessionid=f030288544de46e2ec8d5f5d3f7e5654782b

    In fact, on the third page you can read "active pull-up on all pins", nothing about pull-down. I have those gal chips but still no programmer, I will test it though.
    How did you know about this undocumented pull-down resistor? It's nowhere in the lattice datasheet.
  • edited August 2013
    Severino wrote: »
    Hi.
    I've read the lattice datasheet:
    http://www.latticesemi.com/lit/docs/datasheets/pal_gal/20v8.pdf?jsessionid=f030288544de46e2ec8d5f5d3f7e5654782b

    In fact, on the third page you can read "active pull-up on all pins", nothing about pull-down. I have those gal chips but still no programmer, I will test it though.
    How did you know about this undocumented pull-down resistor? It's nowhere in the lattice datasheet.

    This is undocumented (not in datasheet). You can theoretically connect +5V and GND to any GAL chip 16V8/20V8 (can be clear...) and measure 10K between pin 2 and GND.
  • edited April 2014
    Hi.
    after almost a 1 year period on this post. I've decided to go on on the disciple clone.
    I have the gerber files and most of the hard-to-find chips since then.
    I did not managed to get a logic analyzer, I've seen designs for DIY that use he LPT1, but I haven't still got time for in-depth research of homebrew logic analyzers.
    AS you well now It wasn't my intention to make a "compact" disciple clone, but a complete pcb following the original design, and original PCB. I have a disciple now, It works on a 128K toastrack (spanish version) and since then I have to say I put this project "on the shell" mostly because the size of the pcb was huge, and a homebrew pcb with such thin tracks didn't seem doable.
    Since then I have my old 48K+ a bit abandoned, planned on get a IF1 and microdrives, just for the sake of keeping it "retro". Someone suggested a plusD, there are working prototypes and DIY pages on the web, but why do not go to the full disciple? I recently plugged my old HDD with all the project documentation and work in progress, I even have as I said gerber files for the project, Only one pin remains a bit of obscure, below the speccy edge connector. I tried opening my working disciple but in order to take a look at that tracks I had to desolder the complete speccy edge angled connector. I will give it a try in the next weeks.
    If anyone is interested on the gerber, I wil like to upload them to general public, in case someone is interested on compare the layout and possible debugging on some misterius tracks that run below the chips.
    I used as many schematics available at the moment and a lot of HD pictures of the disciple. The design was routed manually following the original PCB and altium were capable to check the pcb with the corrected schematic. It was OK as long as I can remember.
    Also, in referece to the gal20v8 issues with the pull-up resistor I haven't found a way around that, maybe using a different gal as was suggested will solve this issue, but first I will have to make a working prototype (easy to say) Toner transfer should be my best bet, but I want to know what do you think about the gerber files and check with existing hardware.
    Here is the dropbox link:
    https://www.dropbox.com/s/l73m3oqj06jmvpk/Project%20Outputs%20for%20Imported%20DISCIPLE%20CLON.DSN.zip
  • zubzub
    edited April 2014
    Severino wrote: »
    Hi.
    after almost a 1 year period on this post. I've decided to go on on the disciple clone.
    I have the gerber files and most of the hard-to-find chips since then.
    I did not managed to get a logic analyzer, I've seen designs for DIY that use he LPT1, but I haven't still got time for in-depth research of homebrew logic analyzers.
    AS you well now It wasn't my intention to make a "compact" disciple clone, but a complete pcb following the original design, and original PCB. I have a disciple now, It works on a 128K toastrack (spanish version) and since then I have to say I put this project "on the shell" mostly because the size of the pcb was huge, and a homebrew pcb with such thin tracks didn't seem doable.
    Since then I have my old 48K+ a bit abandoned, planned on get a IF1 and microdrives, just for the sake of keeping it "retro". Someone suggested a plusD, there are working prototypes and DIY pages on the web, but why do not go to the full disciple? I recently plugged my old HDD with all the project documentation and work in progress, I even have as I said gerber files for the project, Only one pin remains a bit of obscure, below the speccy edge connector. I tried opening my working disciple but in order to take a look at that tracks I had to desolder the complete speccy edge angled connector. I will give it a try in the next weeks.
    If anyone is interested on the gerber, I wil like to upload them to general public, in case someone is interested on compare the layout and possible debugging on some misterius tracks that run below the chips.
    I used as many schematics available at the moment and a lot of HD pictures of the disciple. The design was routed manually following the original PCB and altium were capable to check the pcb with the corrected schematic. It was OK as long as I can remember.
    Also, in referece to the gal20v8 issues with the pull-up resistor I haven't found a way around that, maybe using a different gal as was suggested will solve this issue, but first I will have to make a working prototype (easy to say) Toner transfer should be my best bet, but I want to know what do you think about the gerber files and check with existing hardware.
    Here is the dropbox link:
    https://www.dropbox.com/s/l73m3oqj06jmvpk/Project%20Outputs%20for%20Imported%20DISCIPLE%20CLON.DSN.zip

    Neat! BTW, I guess if you implement the full functionality of the DISCiPLE, there's not much of a way to reduce your chip count? The thought occurs of an interface that would be switchable between DISCiPLE and +D modes, but I guess that would make for quite a complex board. That said, the DISCiPLE already has two PALs and quite a few other logic chips, so perhaps the economics of a CPLD for this wouldn't be so bad?

    BTW, I never did work out how on earth the DISCiPLE manages to work on a 128K. I would urge you to be cautious here, as if you produce a clone that is not simply a 100% copy of the original, there would seem to be a fair degree of chance that you will end up with an interface that does not work with 128K machines. Possibly there is some timing issue regarding reset or power on that would explain this, and you need to be sure that your interface shares the same 'bug' that allows it to work with 128K machines, whatever that may be. I assume a 128K with a real DISCiPLE attached copes fine when you press the reset button on the side of the machine?

    I will produce the patch program to fix the bug in GDOS that I promised previously, and then post an update here once I've done that, so the interface should at least be usable for saving and loading snapshots.
    FUSE: the Free Unix Spectrum Emulator, also for Windows, OS X and more!
    http://fuse-emulator.sourceforge.net/
  • edited April 2014
    zub wrote: »
    Neat! BTW, I guess if you implement the full functionality of the DISCiPLE, there's not much of a way to reduce your chip count? The thought occurs of an interface that would be switchable between DISCiPLE and +D modes, but I guess that would make for quite a complex board. That said, the DISCiPLE already has two PALs and quite a few other logic chips, so perhaps the economics of a CPLD for this wouldn't be so bad?

    BTW, I never did work out how on earth the DISCiPLE manages to work on a 128K. I would urge you to be cautious here, as if you produce a clone that is not simply a 100% copy of the original, there would seem to be a fair degree of chance that you will end up with an interface that does not work with 128K machines. Possibly there is some timing issue regarding reset or power on that would explain this, and you need to be sure that your interface shares the same 'bug' that allows it to work with 128K machines, whatever that may be. I assume a 128K with a real DISCiPLE attached copes fine when you press the reset button on the side of the machine?

    I will produce the patch program to fix the bug in GDOS that I promised previously, and then post an update here once I've done that, so the interface should at least be usable for saving and loading snapshots.

    I considered using CPLD/FPGA to give the functionality of the disciple, but when I browsed the HDD with all I did for this clone, and Let's face it, It's a "carbon copy" of the disciple, I realized that all the work was done except for a small track below the connector, which I will solve soon.
    The 128K "toastrack" works perfectly with the disciple, the only issue that I've found is that the disciple voltage regulator heats like a pentium, and that a homebrew connector to keep the disciple from being below the spectrum had to be short (10cm or so), with more distance the disciple doesn't work properly.
    I recall that there was a problem with UK 128k toastracks, these put the "prompt" on top of the screen, the spanish 128k puts the prompt on the lower part of the screen, so no problems there.
    As I said I didn't get a logic analyzer at the time, but maybe now is the time.

    The chips harder to get are the floppy controller, the gals 20v8 and the ram 6264, the eprom, of course, but the rest of the chips were usual ttl chips and easy to get. I have all of the "rare" ones and I'm thinking right now on make a PCB once I print the tracks on an A3 and correct them with the real disciple on the desk.

    The bug that allows the 128k to function with disciple I really have no idea, with a logic analizer it will be easy to get. I will keep posting the progress of this disciple clone, all the hard work on routing was already done, a library for the extension edge connector, the older mono jacks, the latch push-pull buttons, etc. I had my mind on other projects for a while, I will keep progress on this one.
    Thanks and kind regards.
  • zubzub
    edited May 2014
    Severino wrote: »
    I considered using CPLD/FPGA to give the functionality of the disciple, but when I browsed the HDD with all I did for this clone, and Let's face it, It's a "carbon copy" of the disciple, I realized that all the work was done except for a small track below the connector, which I will solve soon.

    Okay! Bit of a shame I suppose, especially if the device becomes more costly to make than it need be. I suppose it depends on how many you're making ? if it's just a one-off for yourself, I can imagine there's a limited value in cutting costs.
    The 128K "toastrack" works perfectly with the disciple, the only issue that I've found is that the disciple voltage regulator heats like a pentium, and that a homebrew connector to keep the disciple from being below the spectrum had to be short (10cm or so), with more distance the disciple doesn't work properly.

    The DISCiPLE always did have a reputation for running hot. Didn't realise it was the voltage regulator, though, but I guess it makes sense. Recent measurements show that [THREAD=45721]replacing the Spectrum's voltage regulator[/THREAD] makes quite a lot of difference, and I guess that will be typical of many devices of the time.

    My concern is that you don't read anything into the 128K toastrack working. We have no idea why it does this, and if it works purely by means of some fortunate glitch, you need to make sure you replicate that glitch in your clone of the DISCiPLE. Just to avoid disappointment. :-)
    I recall that there was a problem with UK 128k toastracks, these put the "prompt" on top of the screen, the spanish 128k puts the prompt on the lower part of the screen, so no problems there.
    As I said I didn't get a logic analyzer at the time, but maybe now is the time.

    It'd certainly be very useful, but just a matter of how easily you can get your hands on one. You probably don't need that many lines. The less significant address lines together with some control signals may be enough to piece together what's happening. Probably don't even care about /RD or /RW, just /M1. The more you have, the better, of course. Probably if you have a breakout box for the expansion port, you could monitor signals in batches upon reset, capture a few resets each time between changing the signals that you monitor, and we can piece together the results.

    I guess the UK 128K has the 'Screen' option that puts the prompt at the bottom. Not sure how much that would mitigate things.
    The chips harder to get are the floppy controller, the gals 20v8 and the ram 6264, the eprom, of course, but the rest of the chips were usual ttl chips and easy to get. I have all of the "rare" ones and I'm thinking right now on make a PCB once I print the tracks on an A3 and correct them with the real disciple on the desk.

    Cool! 8-)
    The bug that allows the 128k to function with disciple I really have no idea, with a logic analizer it will be easy to get. I will keep posting the progress of this disciple clone, all the hard work on routing was already done, a library for the extension edge connector, the older mono jacks, the latch push-pull buttons, etc. I had my mind on other projects for a while, I will keep progress on this one.
    Thanks and kind regards.

    Great stuff, remember to keep us posted! Maybe a few pictures or a video or something when it's done? :-)

    Will get that patch program sorted out by then so you can at least demonstrate snapshots! Should only take a few minutes, I just need to get off my arse and do it! :-)
    FUSE: the Free Unix Spectrum Emulator, also for Windows, OS X and more!
    http://fuse-emulator.sourceforge.net/
  • Hi.
    It's been a while indeed.
    I was reading the full post and there were two things that popped into my mind.
    The first is that glitch that allows the disciple to work with the 128k.
    The disciple is powered by the speccy 9v line, from the unregulated power supply. This theoretical 9v is then regulated by a 7805 same that in the speccy, but the speccy has additional circuitry for the 12v to the 4116 ram chips.
    Could the glitch be a simple delay in the power sequence? I mean, I have right now no way to test this, but in a emulator this could be done. I will do some calculations and put again all the project on my work desk.
    This is the first thing that came to mind; delaying either the speccy or the disciple and see if the glitch is from the power-up sequence.

    The second thing is that a cpld could be used for most of the disciple, allowing the pcb to be smaller and more importantly, to test some designs It will be very easy to put a cpld in front of the bus and "sniff" the behaviour of the different pal equations, different roms, etc before the carbon copy of the big pcb can be done. I still want to do the big pcb. It was a lot of work and I want to have one!
    Kind regards!

  • Not likely to be a delay in power up, as the Z80 CPU is held in reset long enough for the power rails to stabilise.

    Mark
  • edited July 2016
    Some of the adverts say that it was compatible with a +2 (they mean the grey +2).
    zub wrote: »
    For what it's worth, I have now made changes to Fuse to use only an 8 KiB ROM image, which is effectively the same as have two copies of the 8 KiB ROM's contents in a 16 KiB image... and this makes no difference. I still get a red border with black screen contents on bootup, shortly followed by a similar pattern to the screenshot of RealSpectrum that I posted previously.
    For those that have had, or have a Disciple working with a 128k toastrack or a grey +2, do you get a red border instead any other colour at start up?

    Reading various information, do we agree that at Z80 reset (including power-up), the Disciple ROM and RAM are paged out (so allowing the Spectrum ROM to be accessed) and the flip-flop in the Disciple selects it's ROM to be at addresses from zero upwards, followed by the RAM at 8k to 16k?

    When paging memory on an instruction read, the speed of how quickly the paging out of the Spectrum's ROM and the paging in of the Disciple's memory (RAM or ROM) takes all comes down to the propagation delay through the logic in the PAL chips, the available drive vs. the loading on the control line /ROMCS, and the response time of the Disciple ROM/RAM. If all this is quick enough, when the Z80 "captures" the instruction data from the bus, it will be the data from the Disciple ROM/RAM. Otherwise, it could be the instruction data from the currently paged in memory (the Spectrum's ROM). The following instruction will however come from the Disciple ROM/RAM.

    When using an I/O instruction to page out the Disciple ROM/RAM, it's a different story, as an I/O instruction has an extra automatic wait state, so the Spectrum's ROM should provide the next instruction.

    Mark
    Post edited by 1024MAK on
  • It's likely a propagation delay, I didn't think about the reset when I posted. This would explain why different speed gal's were difficult to swap with the original pals. As I understand, the fuse emulator did achieve partial emulation and is now focusing on the wd1772 FDD controller.
    On the 128k toastrack I've never seen a red border pn power up or reset.. What I've seen is a change in border when nmi is used to dump memory content. (Snapshot)
    This change remains when the program is loaded again from disk. I have to check if it's a random color border or if it's the same.
    Regards.
  • Severino wrote: »
    On the 128k toastrack I've never seen a red border pn power up or reset..
    Regards.

    does it on 48K ??
    btw what rom version Disciple are we talking and with wat Ram version?
    i use Rom3 Ram d, with some personal mods like a greyscale enhencement for printing on FX-80
    my old website http://home.hccnet.nl/c.born/ has changed to http://www.cborn.nl/zxfiles/ so just click it and select a file
  • a lot of time passed since this topic was active, but does anyone figured out how/why Disciple works on 128K ?

    my current theory is - Z80 "detects" /reset line logical 1 a bit earlier than PAL20L8 IC8, long enough to run few opcodes while PAL thinks /reset is still active, so there no happen disc interface/ROM activation at address 0001.

    how this may be possible ? - because of /reset line RC-circuit (1uF and 220KOhm) delay, which leads to relatively slow voltage increasing after power-on or reset button press (0,22s to fully charge capacitor). so, in theory, due to technology differences, at some point near 2.7V Z80 may detect voltage as logical 1 and start running, while PAL20 still considering it as logical 0 (and holding "ROM enable" flip-flop in 0/inactive state).

    or, perhaps, there is some other / better ideas ?
  • edited July 8
    i personaly never checked but i am glad aswell that you ask. disciple should flip memory banks at invoking as 0-3k with 4-7k switched afaik
    Post edited by Crisis on
    my old website http://home.hccnet.nl/c.born/ has changed to http://www.cborn.nl/zxfiles/ so just click it and select a file
Sign In or Register to comment.