home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / emulator / cpc / history. < prev    next >
Encoding:
Text File  |  1993-01-01  |  6.7 KB  |  213 lines

  1. /* history of CPCEMU.C  (and Z80EMU.C) */
  2. /* 1.1.1993 */
  3.  
  4. /* (12.,18.,22.,25.,26.,27.30.8.92 */  /* 3.,19.,27.9.92, */
  5. /* 25.,31.10.92 */  /* 5.,15.,18.11.92) (21.,29.12.92) */
  6.  
  7. /* --- history of CPCEMU.C --- */
  8.  
  9. /* v0.4 */
  10. /* 1.1.1993 */
  11. - corrected some bugs:
  12.   CPCZ80 : - in a,(n), out a,(n) : A to b8..b15 (instead of B !)
  13.   Z80IFACE : bad error in port_in: var. "portby" was local without
  14.         BP loaded correctly, so it could modify the program !
  15.         Corrected.
  16. - CPCMEM : corrected ram-config &c2 : bank 0,3,2,7
  17.         now CP/M Plus runs, but without an acceptable speed.
  18. - support for unknown KC-compact ports ee00..ee3d (byt without function)
  19.  
  20.  
  21. /* v0.3 */
  22. /* 28.,29.12.1992 */
  23. - corrected some bugs:
  24.   CPCZ80 : - RLD - A was loaded with a wrong value.
  25.        - ini,ind,outi,outd : set N-flag added.
  26.   Z80EMU : - CPIx : flags were set wrong (Juergen mentioned it)
  27.        - RL (HL), RR (HL), ...  used read-segment (DS)
  28.          instead of write-segment (ES)
  29. - LD A,R produces now random-numbers (you can test INP &EF01 !)
  30. - now you can use all cassette-routines (except CAS IN CHAR, flag-error?)
  31.  
  32.  
  33. /* v0.2 */
  34.  
  35. /* 23.,24.12.1992 */
  36. - I've found the error which hanged the fast-emulation.
  37.   Took me nearly 4 hours with the Turbo Debugger.
  38.   I single-stepped through the interrupt-routine and -- there was it.
  39.   In Z80EMU.ASM:  SET 6,(HL) modified the DS-Register.
  40.   (ES was PUSHED instead of DS)
  41.   Now you can use fast-emulation ...
  42.  
  43.  
  44. /* 21.12.1992 */
  45. - Now it seems it't more a CPC than only a Z80.
  46.   So I renamed most files. (Z80EMU v3.0 is now  CPCEMU v0.2)
  47.   There're still some problems with the fast-emulation.
  48.  
  49.  
  50.  
  51. /* --- history of Z80EMU.C --- */
  52.  
  53. /* v2.9 */
  54. - improved screen-update, implemented fast-emulation for programs which
  55.   don't use the ROM (most games, load and start them with 'R', then
  56.   continue with 'F' ... Have fun !)
  57.   Real 300 interrupts per second with new timer-handler. Screen-update
  58.   every 6th interrupt (50 times per second).
  59.  
  60. /* v2.8 */
  61. - improved screen update (386-asm). Ony parts which have changed since
  62.   the last update are updated.
  63.  
  64. /* v2.7 - test */
  65. - tried to include fast-z80-assembler-emulation by Juergen Weber,
  66.   not functionally, yet. Don't use it.
  67.  
  68. /* v2.6 - test */
  69. /* 5.11.1992 */
  70. - added new keyboard-routine, INT9-handler (asm) (thanks to Arnt with JPP)
  71. - added new screen-update (asm)
  72.  
  73.  
  74. /* v2.5 - test */
  75. /* 31.10.1992 */
  76. - changed memory-allocation
  77. - Now hard-scrolling !! And some CRTC-support (different screen-size)
  78.  
  79. /* v2.4 - test */
  80. /* 25.10.1992 */
  81. - new memory-allocation (mem_seg  starts at 64K-segment-boundaries),
  82.   so implementation of assembler-routines is easier
  83. - screen-update every n. interrupt and not with every byte written to
  84.   z80-mem. It's still slow (written in C), should be timer-controlled.
  85.   So this is only a test-version.
  86. - split Z80CPC  up into Z80CPC, Z80FDC, Z80SCR, Z80KEY,
  87.   and Z80DOS into Z80MEM
  88. - only R-register-emulation, if desired (define R_REG)
  89.  
  90.  
  91. /* v2.3b */
  92. /* 19.9.92 */
  93. - added 0xfcxx-out equal to 0xfbxx-out (for CP/M-Plus)
  94. - added screen-update only for bank 0..3 (and NOT bank 4..7)
  95.  
  96.  
  97. /* v2.3 */
  98. /* 19.9.92 */
  99. - Z80DECO : error with LD XH,D - (was ld H,D), corrected
  100.   (found by watch)
  101.  
  102. /* 15.-18.9.92 */
  103. - added FDC-Emulation for Loading
  104.  
  105.  
  106. /* v2.2 */
  107. /* 3.9.1992 */
  108. - added z80noROM.rom and ZCOPY.rom - loading for those without
  109.   the rom-file z80cpc.rom
  110.  
  111.  
  112. /* 30.8.1992 */
  113. - added Z80CBIO.ASM : keyboard-routines, palette-change without
  114.   flickering (waits for H-sync !)
  115. - added Z80CPC.KEY - a new keytab
  116.  
  117.  
  118. /* v2.1 */
  119. /* 25.8.1992 */
  120. - Z80CPC : added all Pens in all CPC-Modes
  121. - Z80CPC : added all CPC Colors to display on VGA-Card
  122.  
  123. /* 26.8.1992 */
  124. - Z80DECO : test rom_bypass only during RET-Instruction (=>speedup)
  125. - Z80DECO : write only to viewing screen (=>speedup)
  126.  
  127. /* 27.8.1992 */
  128. - Z80CPC : a small watch-error during rom-bypass : normal CPU has
  129.   emulated RET-Command with rom-bypass - all registers are copied
  130.   and co-CPU wants to emulate his RET - but there was alredy the new
  131.   instruction ... ( solution: set watch-PC on ret)
  132. - Z80DECO : A bug ! All (ix+zz), (iy+zz) with negative zz (means zz>=0x80)
  133.   were wrong in v2.0, v2.1 !! Forgotten to take signed char cast !!
  134.   (Found by watch)
  135.  
  136.  
  137. /* v2.0 */
  138.  
  139. /* 18. - 21.8.1992 */
  140. - a new Z80DECO(earlierZ80EMU)-structure speeds up emulation
  141. - added Z80WATCH - a CO-Z80 (from v1.3) for debugging
  142.   the normal CPU with the new structure and the CO-Z80 emulate independendly
  143.   every instruction. Registers (and some memory-adresses) are compared
  144.   and if there is any difference - a watch-error occures.
  145.  
  146. /* 21.8.92 */
  147. - included separate memory for z80watch, so 128KB RAM could be used
  148.   (Z80WATCH has its own 128K RAM, and shares the ROM with the normal CPU)
  149.  
  150. /* 22.8.92 */
  151. - Z80DECO, Z80WATCH, all older emulators :
  152.   There was an error in the op-instruction-book: it said, the H-Flag is
  153.   set after and,or,xor , that is WRONG !
  154.   It's reset after or,xor !  This caused a fatal behavior with a following
  155.   DAA-Instruction.
  156. - Z80DECO : CPI,CPD,CPIR,CPDR : Flag N=1 (not 0)
  157.   (found by Watch)
  158. - addad colors blue and yellow (no palette-change yet - it's too slow)
  159.  
  160.  
  161. /* v1.3 */
  162.  
  163. /* 18.8.92 */
  164. - included new memory-management (now 128KB Ram, 32KB Rom)
  165. - changed return of wregget: now pointer to register, not number any more
  166. - Z80CPC: error Gate-Array-Out-select corrected to 'by' (not 'adr')
  167.  
  168.  
  169.  
  170. /* v1.2 */
  171. /* 12.8.92 */
  172. - Z80EMU: ldir-error corrected (P-Flag-Test was incorrect, still in v1.1, but
  173.   not in v1.0)
  174. - Z80EMU: now bregget returns normal byteptr, not fbptr. This is done by
  175.   a special byte membyte, to which the byte from memory is copied
  176.   ( during instructions with an (hl),(ix+zz),(iy+zz)-operand )
  177.   bmemuse is a flag showing if membyte (and memadr) are in use
  178. - mem[adr] changed to bget(adr)
  179. - Z80EMU: ld (de),a, ld (bc),a : error corrected: wput changed to bput !
  180.  
  181.  
  182.  
  183. /* 13.8.1992 */
  184. - added Rom-Support
  185.  
  186. - Z80EMU: error  jp ccc,xxyy , call ccc,xxyy :
  187.   if condition ccc is not met, PC only incremented !! (should PC+3)
  188.   ( note ret ccc is correct)
  189. - Z80EMU: error  rotate-instructons rr,rl (srl,sra,rlc,...):
  190.   flag-test for Z,S included.
  191.  
  192. /* 14.8.92 */
  193. - added keyboard-routines (z80-interrupt)
  194. - Z80EMU: error  bit b,...  Z-Flag was set, if bit=1  (WRONG!)
  195.   ( bit b=1 => NZ ; bit b=0 => Z )
  196.  
  197. /* 15.8.92 */
  198. - Z80EMU: error : calcpary corrected (pary=0 was at wrong position, so it
  199.   adds up to 4096)
  200. - Z80EMU: error : DAA P-Flag-set included
  201. - Z80CPCH: poke changed to pokeb in byte2scr
  202. - Z80EMU: error : adchl : C-Flag sometimes not set (by2 was always lo-byte
  203.   instead of high-byte
  204.  
  205. /* 16.8.92 */
  206. - now pen 1 in every mode 0..2
  207.  
  208.  
  209. /* v1.0 */
  210. /* 1991 */
  211. - the first version was written in pascal and only a Z80-Emulator
  212.  
  213.