anotherlin/z80emu

license

Opened this issue · 7 comments

efa commented

please clarify what is the license in the classical "COPYING" file

Hi,

The license is really the one line "This code is free, do whatever you want with it.".
As suggested, I'll add a COPYING file shortly.

Best regards,

efa commented

OK thank you, when I saw there are no commits in last years, worried I ask for a license so some one other can continue the develop.
I want to integrate z80emu in Wilderland https://github.com/efa/Wilderland
as now it use another emulator with a license that is restrictive, while I want to use the GPL that is compatible with your "This code is free, do whatever you want with it", so thank you.

GPL is a few pages long that I've never read. Plus there are some conditions (you must published derived code or something like that), or you must give credit, etc. So it's not even really "free". So I figure out, I would be better off with a simple one liner, and plus it's really free. I wish you the best with your project. Feel free to contact me if you encounter any bug or problems. Best regards,

efa commented

thank you very much

efa commented

I integrated your emulator in my code and work very well, thank you.

To work with my project I had to modify a little the code:

  • Added JUMP/CALL/RET/RST callback Z80_JUMP() to capture game output (the prev emulator has this callback)
  • Added 16 bit address port In/Out (undocumented Z80) to simulate Spectrum read keyboard input
  • Separated Z80Reset() from Z80ResetTable() to regenerate register pointers on game snapshot load (ptr change every run)
  • Added printZ80struct() to show internal register values on debug

Will do a PR

efa commented

done with #15
thank you

efa commented

another thing, in z80emu.h the first enum should be changed as so:

enum {

   Z80_STATUS_FLAG_HALT = 1,
   Z80_STATUS_FLAG_DI,
   Z80_STATUS_FLAG_EI,
   Z80_STATUS_FLAG_RETI,
   Z80_STATUS_FLAG_RETN,
   Z80_STATUS_FLAG_ED_UNDEFINED,
   Z80_STATUS_PREFIX

};

to build and work when in z80config.h are defined one of these:

#define Z80_CATCH_HALT
#define Z80_CATCH_DI
#define Z80_CATCH_EI
#define Z80_CATCH_RETI
#define Z80_CATCH_RETN
#define Z80_CATCH_ED_UNDEFINED