Z80 in-circuit emulator

ZXNet echo conference «hardware.zx»

From DVS To All 28 July 2006

Hello, The Exploited The> use emulators The device is complex.

From DVS To All 28 July 2006

Hello, All Where to buy? Or can you assemble it yourself? The task is to debug a program for the Z80 with a PC.

From Mark Antonov To All 28 July 2006

Hello, DVS use emulators

From Dmitry Demyanenko To All 28 July 2006

Hello, DVS ZDS c Zilog

From DVS To All 28 July 2006

Hello hero her> Yeah, if you have the source, you can compile it and run it in the simulator The program for the hardware is very well tied...

From DVS To All 28 July 2006

Hello hero her> ZDS with Zilog This is software!?!? Zilog Development Studio!?!?

From Dmitry Demyanenko To All 28 July 2006

Hello, DVS DVS> This is software!?!? Zilog Development Studio !?!? Yeah, if you have the source, you can compile it and run it in the simulator

From DVS To All 28 July 2006

Hello hero her> Depending on how tied up and how friendly with S, it’s possible in principle her> Unreal Speccy emulator you can take open source from it her> desire to describe the hardware and drive it as fast as your heart desires, or simulate it her> using HDL tools Yes, that’s all true, but it just turns out that those bugs that need to be debugged More bugs will be added (description of hardware and modification of software). PS; debuggable; The piece of iron is not Speck or his clone.

From DVS To All 28 July 2006

Hello hero I found it!!! http://alevlab.narod.ru/debug80.html 2 hero Can you help me stuff the logic into a CPLD (FPGA)? Unless of course it's difficult.

From Dmitry Demyanenko To All 28 July 2006

Hello, DVS DVS> Yes, everything is so, but it just turns out that those bugs that are needed DVS> debug, more bugs will be added (hardware description and rework DVS> software). DVS> DVS> PS; debuggable; The piece of hardware is not Speck or his clone. Then in a serious case, connect the register to the circuit and write there at the control points and percent launches step by step, in short, like in the Stone Age :)

From Dmitry Demyanenko To All 28 July 2006

Hello, DVS DVS> The hardware program is very well connected... Depending on how involved you are and how friendly you are with C, you can basically Unreal Speccy emulator you can take open source from it if you want hardware describe and drive as fast as you like, or simulate using HDL tools

From DVS To All 30 July 2006

Hello hero her> FPGA TV80 and with the help of a debugger you can use JTAG but it’s convenient for a couple her> orders lower What software should I use to support this? This http://alevlab.narod.ru/debug80.html development has software, and the description is quite advanced, although under DOS. Is there something I can’t get the diagram out of OrCADa? Please, if someone opens it, convert it to Eagle or a picture. File: SCHEME.ZIP http://zx.pk.ru/attachment.php?attachmentid=3518

From DVS To All 30 July 2006

Hello hero her> I recommend EP1C3 in 100 lacorpus, if of course everything fits I hardly know HDL languages. For reference, I installed Xilinx ISE 7.1 (it looks like how can you draw everything in graphics, and then convert it to HDL) Xilinx does not do you use?

From Dmitry Demyanenko To All 30 July 2006

Hello, DVS DVS> I found it!!! DVS> DVS> http://alevlab.narod.ru/debug80.html DVS> DVS> 2 hero DVS> DVS> Can you help me stuff the logic into the CPLD (FPGA)? Unless of course it's difficult. Yes, for the spektrumists - at least a light bulb from the pre-zone! I recommend EP1C3 in 100 lacorpus, if of course everything works, by the way you can just put it in the FPGA TV80 and use a JTAG debugger, but it’s convenient for a couple orders of magnitude lower

From DVS To All 31 July 2006

Hello, DVS I opened the circuit and will form a “piece” of logic for CPLD.

From Dmitry Demyanenko To All 31 July 2006

Hello, DVS DVS> I have opened the circuit and will form a “piece” of logic for CPLD. Z80 peel will not fit into CPLD By the way, there is another option, but you also need to work there, take which ARM thread controller, take the source code of the Z80 emulator (There are free ones tailored for ARM) You add a little bit so that it sends registers via the com port and some smart commands accepted (such as setting a breakpoint by address, by I/O port, etc) cheaper and easier, but you will have to write a thread for the client (pc). Get it a good method for repairing and debugging Speccy boards We'll still have to come up with something with bus cycles, and also convert it schematic at heroy(woof)mail.ru

From Dmitry Demyanenko To All 31 July 2006

Hello, DVS DVS> From the expander you need BB55 + a little logic. I think BB55 in CPLD DVS> will take up a lot of space. BB55 in classic form (with hardware handshaking and gating of transmissions and all its modes) will not fit with CPLD, it must be cut.

From skyther To All 31 July 2006

Hello, DVS For it to work you also need a “port expander”, it is also included in the matrix shove

From DVS To All 31 July 2006

Hello skyther From the expander you need BB55 + a little logic. I think BB55 has a lot of space in CPLD will take.

From DVS To All 31 July 2006

Hello hero There is no need for a core in CPLD!!! Just the harness. Here I printed it in PDF. File: Z80-DBG.zip http://zx.pk.ru/attachment.php?attachmentid=3527

From DVS To All 31 July 2006

Hello, DVS If there are no significant obstacles, then I’ll get Xilinx this week CoolRunner EV-BOARD + XILINX ISE, and you can try something...

From Victor Ronin To All 31 July 2006

Hello hero her> By the way, there is another option, but you also need to work there, take which one her> thread ARM controller, take the source code of the Z80 emulator (There are free ones her> tailored for ARM) add a little Or maybe it’s easier to assemble a normal piece of hardware on a normal Z80, and ARM/AVR/else_what/ hang "on top" as a step-by-step debugging monitor (by writing a little software). Otherwise, in the proposed options there are so many places where glitches can settle that I would I always preferred the “Stone Age”.

From Dmitry Demyanenko To All 31 July 2006

Hello Ronin Ron> it might be easier - to assemble a normal piece of hardware on a normal Z80, but Ron> ARM/AVR/else_what/ hang "on top" as a step-by-step debugging monitor Ron> (writing a little software). How can you fetch the contents of the registers in this case?

From DVS To All 31 July 2006

Hello Ronin Ron> Or maybe it’s easier - to assemble a normal piece of hardware on a normal Z80 So check out the links...

From Mark Antonov To All 31 July 2006

Hello hero her> By the way, there is another option, but you also need to work there, take which one her> thread ARM controller, take the source code of the Z80 emulator (There are free ones her> tailored for ARM) and what will it emulate the Z80 bus?

From Victor Ronin To All 1 August 2006

Hello hero her> And how to pull the contents of registers in this version? But you need it :) well, the controller is a smart thing - maybe a couple of commands Ld x,xx slip it in, and adjust the R register, etc., etc. Otherwise, why hang it up at all? for a simple step-by-step execution and a toggle switch is enough :D

From Dmitry Demyanenko To All 1 August 2006

Hello, The Exploited The> and what will it emulate the z80 bus? No, it won’t emulate the bus, I tried playing around with it at home under ATmega64, so here it is If you don’t take into account that the simulator will emulate the Z80 with a frequency of 1 to 1, then the implementation quite real, the SMT source code doesn’t work either, so how to remake its emulation is tantamount to writing it again, but in principle you can use an in-circuit debugger assemble for 2 micros (ATmega64 + MAX232)

From Andreas Kaiser To All 1 August 2006

Hello, DVS DVS> Are you serious? Those. you can stick your legs of the same name into the socket DVS> Z80 pick up JTAG, load IAR Workbench and you can climb through the ROM and DVS> RAM and steps to do? Something is somehow easy... There must be some kind of catch DVS> yes, not all commands are supported... I’m not sure about IAR, but ZDS has not been canceled either. And the catch in LQFP64 is this: "coin" size 1.5x1.5 cm, think about how to solder :) Regarding the commands - probably everything is the same as the CMOS version of the Z80 + internal ports, which have already been written about.

From DVS To All 1 August 2006

Hello Ronin Ron> I thought that we were talking about IN-CIRCUIT debugging EXACTLY! Ron> there is a third way - take the EZ80, it seems to have JTAG and Ron> hmm compatibility mode with Z80 too Seriously? Those. you can stick your legs of the same name into the Z80 socket pick up JTAG, load IAR Workbench and you can climb through ROM and RAM and steps do? Something is somehow easy... Surely there is some kind of catch, like the command is not everything supports...

From Victor Ronin To All 1 August 2006

Hello hero her> Well, this is understandable, a kind of improvement from the Stone Age, I thought that her> we are talking about IN-CIRCUIT debugging, and as such it has access to her> internal operational resources are implied by the name itself, so her> is also convenient when you can create breakpoints based on events. And her> in my opinion, the above-translated smeme adheres to ideology her> "in-circuit". Although I glance at her quickly, half-grey (not knocked out) her> abandoned Well, if you build a whole processor emulator to which you can embed in-circuit debugging, hoping for the highest blessing that will save you from the cloud of glitches - closer to you - please :) however, it seems to me better to take EXACTLY THAT HARDWARE that will work in device, and then try to get into it. Of course, there will be glitches here too, but they immeasurably smaller, and I’m always sure that the experimental piece of iron is just like that what it should be. there is a third way - take the EZ80, it seems to have JTAG :) :) :) and the mode hmm-compatible with Z80 too :)

From Dmitry Demyanenko To All 1 August 2006

Hello, DVS DVS> Something is somehow easy... Surely there is some kind of catch, like a command DVS> does not support everything... The I/O address space 0000-00FF contains internal registers eZ80

From Dmitry Demyanenko To All 1 August 2006

Hello Ronin Ron> And you need it, well, the controller is a smart thing - maybe a couple of Ld commands Ron> insert x,xx, and adjust register R, etc., etc. otherwise what for it Ron> hang at all? for simple step-by-step execution, a toggle switch is enough Well, this is understandable, a kind of improvement of the Stone Age, I thought that we were talking about it's about IN-CIRCUIT debugging, and as such it has access to internal operational resources is implied by the name itself, it is also convenient when You can create breakpoints based on events. And I think the above translation adheres to the “in-circuit” ideology. Although I’m quick to look at her (not knocked out :) ) glanced PS And you also need a trigger for the toggle switch to eliminate contact bounce ;)

From Dmitry Demyanenko To All 1 August 2006

Hello Ronin Ron> there is a third way - take the EZ80, it seems to have JTAG and Ron> hmm compatibility mode with Z80 too This is probably the most convenient one, especially since you can use ZDS

From DVS To All 1 August 2006

Hello, DVS And another question, if you make an LQFP64 <---> DIP40 adapter board, that is, eZ80 <---> Z80, then the piece of hardware will work without noticing the replacement? Or do you need something configure, i.e. have a good understanding of the ez80 architecture? I just wish so that everything looks something like this: plug in the debugger, download the software (ZDS, IAR, etc. ), she connected to the debugger, read the ROM of the hardware into her window, state of the registers, the user set breakpoints and ran...

From DVS To All 1 August 2006

Hello icebear ice> And the catch in LQFP64 is such a “coin” measuring 1.5x1.5 cm, think like this ice> solder No question. ice> Regarding the commands - probably the same thing So I think... her> In the I/O address space 0000-00FF there are internal her> eZ80 registers Do you mean accessing RAM or ports?

From Dmitry Demyanenko To All 1 August 2006

Hello, DVS We need to write a bootloader and customizer for eZ80 so that it configures the external bus in a certain piece of the address space so that it works like a real Z80 tire True, you can’t plug it into SPEC directly, since ports 00-FF are connected internally - once, commands of the form ld h,h ld a,a are used to expand the command system

From DVS To All 2 August 2006

Hello hero her> We need to write a bootloader and eZ80 customizer her> so that it configures the external bus in a certain piece of the address her> space so that it works like a real Z80 tire her> although you can’t connect directly to SPEC, since ports 00-FF are connected internally her> - times, her> commands of the form ld h,h ld a,a are used to expand the command system So we're not going astray? I'm focusing on the XC9500 5V series, it will really work out, XC95144 or two XC9572 ( more preferred due to PLCC84 housing). Then the questions: 1) Am I doing the right thing in trying to “implant” IR22, IR23, IR35? 2) The same for AP5,6? Or should we leave them external? Two IR22 + two IR23 + two AP5 + one AP6 (in the exact implementation according to pdf) occupy 90 macrocells.

From Dmitry Demyanenko To All 2 August 2006

Hello, DVS DVS> Two IR22 + two IR23 + two AP5 + one AP6 (in exact implementation according to pdf) DVS> occupy 90 macrocells. It will be a bit much :) You need to try the section in DHL language, tell me which piece I'll describe it to you, try it

From DVS To All 2 August 2006

Hello hero her> It will be a bit much :) I need to try the section in DHL language, tell me which one her> a piece of the circuit, I'll describe it to you, try it First, I will break the whole scheme into logically expedient pieces, draw Shematic in Xilinx ISE, I will convert it to VHDL. And I’ll post it to you for optimization, okay? In general, the process of describing hardware looks quite interesting: 1) downloaded pdf for all mikruhi from www.st.com 2) drew them using primitive elements (Flip-flop, Latch, Logic) and created the symbols sym from them 3) threw several such symbols onto the basic circuit and connected 4) scattered signals along the legs 5) synthesized the firmware file Everything is clear to me so far and I don’t delve too deeply into the intricacies of HDL. I'll see how more to come...

From Dmitry Demyanenko To All 2 August 2006

Hello, DVS DVS> will be converted to VHDL. And I’ll post it to you for optimization, will it work? I saw how, for example, Microsoft Front Page makes html pages, you draw and he you a page where 90% of the garbage is, and it’s usually faster to remake it in notepad than to clean out and re-arrange nonsense at the output, the same with removable input bent into xHDL, especially when I convert the circuit to xHDL I look not at how it’s done, but at what it does, the difference is huge

From Andreas Kaiser To All 2 August 2006

Hello, DVS DVS> 2 hero DVS> DVS> Of course, I don’t use Front Page, I like Dreamweaver instead. DVS> Generally speaking, apparently this is an eternal debate following the example of C vs ASM. Okay before DVS> level of Hardware Description Language I won’t go down yet and that’s it DVS> questions will be more comprehensive. Unfortunately, it is in HDL that manual optimization currently rules. On experienced it in my own skin :)

From DVS To All 2 August 2006

Hello Ronin Ron> this one, or maybe just permanently remake the piece of hardware for the eZ80 and that’s it It won't work, you'll have to rewrite the ROM over the years (like Scorpio PROF ROM). It is more interesting and profitable to build the debugger yourself; besides, the author of the debugger does not against the translation of his creation into CPLD.

From DVS To All 2 August 2006

Hello hero 2 hero Of course, I don’t use Front Page; I like Dreamweaver instead. In general speaking, apparently this is an age-old debate following the example of C vs ASM. Okay down to the Hardware level I won’t go into Description Language for now and all questions will be more enlarged.

From DVS To All 2 August 2006

Hello hero 2 hero Thanks for the more detailed description. her> More precisely, this is to IceBear and Spensor, they are connected up and down her> re-read HELP!!!!! :-)))))))))

From DVS To All 2 August 2006

Hello hero her> If the device does not have ports with addresses below 0X0100 The question is of course, but I think a simple search on the design of the ROM can be determined, right? her> and if you look at the MK on the eZ80 core, then there’s nothing else to redo her> no need How's that? her> PS I understand, this is a reason to get to the FPGA Experience and level ups have always been held in high esteem or translated into Russian as aspiration to knowledge :-) But if you still use the commands ld a,a ld h,h (FLASH then on 256Kb there It’s worth it, a lot has been written). How will the initialization code help?

From Victor Ronin To All 2 August 2006

Hello hero this one, or maybe just permanently remake the piece of hardware for the eZ80 and that’s it :)

From Dmitry Demyanenko To All 2 August 2006

Hello, DVS DVS> It won't work, you'll have to rewrite the ROM over the years (like Scorpio PRO DVS> ROM). If the device does not have ports with addresses below 0X0100 and commands are not used type ld a,a, including undocumented ones (although there is a possibility that some and perhaps all will work) then the modification is minimal 3 bytes per the beginning of the ROM + a piece of initialization code and if you look towards the MK on the eZ80 core then there is no need to redo anything. PS I understand, this is a reason to get to the FPGA

From Dmitry Demyanenko To All 2 August 2006

Hello, DVS DVS> And if you still use the commands ld a,a ld h,h ( FLASH then on DVS> 256Kb is there, a lot of things have been written). How the code will help DVS> initialization? In general, let's use the microcontroller After the start, the processor begins to execute the code from the internal ROM in it you configure, let's say that the area 10000-1FFFF works with the CS1 signal and you configure that when accessing this area, an access to an external one occurs you also configure the bus so that the bus will work in Z80 mode, then you (I don’t know the exact nuances) transfer the percentage to native mode so that it’s in bits [23:16]PC value was 0x01 and the percentage is already spinning within its 64K with standard addressing but the eZ80 broadcasts everything to the address $1xxxx and the controller memory makes it work with the external bus, plus in the internal ROM you you will need to configure the interrupts to work normally In short, read the document on eZ80, there is a lot of interesting information, although the document is foreign and My English is at the level of 26 letters + self-reading :) More precisely, they re-read the doc up and down for IceBear and Spensor

From Dmitry Demyanenko To All 2 August 2006

Hello, DVS DVS> Of course, I don’t use Front Page, I like Dreamweaver instead. DVS> Generally speaking, apparently this is an eternal debate following the example of C vs ASM. Okay before DVS> level of Hardware Description Language I won’t go down yet and that’s it DVS> questions will be more comprehensive. You can play around, but ULA is written in HDL and supports 4 video mode and all this stuff takes up 63 macrocells (which is a good half Spectrum), you have 32 triggers plus buffers occupy 90 macrocells

From Dmitry Demyanenko To All 2 August 2006

Hello icebear And finally, if you already get involved, it’s better with eZ80+ZDS you will need to make a scarf that sticks in the place of the Z80 on which it should be only eZ80 and what thread is a small ROM (put the starting setting there eZ80) Or even better, some microcontroller thread with an eZ80 core then no ROM needed and after a reset it will actually work with the standard bus