Welcome, Guest. Please login or register.


Author Topic: Cybernoid (Read 6789 times)

Offline nyuzga

  • EP addict
  • *
  • Posts: 1956
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Opera 9.80 Opera 9.80
    • View Profile
Re: Cybernoid
« Reply #30 on: 2010.May.09. 14:42:08 »
Jó lett. A csikózós betöltő, különösen tetszik :lol:

Offline Lacika

  • EP addict
  • *
  • Posts: 2886
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.6.3 Firefox 3.6.3
    • View Profile
    • http://www.ep128.hu
Re: Cybernoid
« Reply #31 on: 2010.May.09. 15:29:22 »
És néhány változat különböző TONE_AND_NOISE_MODE AY emuláció paraméterrel - melyikkel a legjobb a hang (a fenti tömörített "normál" verziót is beleértve) ?

Határozottan a 220-as a legjobb! Betömöríted azt (és a forráskódját is felrakod)?

Online geco

  • EP addict
  • *
  • Posts: 5088
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.5.8 Firefox 3.5.8
    • View Profile
Re: Cybernoid
« Reply #32 on: 2010.May.09. 16:16:24 »
Szerintem a betömörítettnek a legjobbak a hangjai, kivéve a robbanást, az a 220-asban a legjobb.
A CPC-s verziót meg most töltöm :D

Online geco

  • EP addict
  • *
  • Posts: 5088
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.5.8 Firefox 3.5.8
    • View Profile
Re: Cybernoid
« Reply #33 on: 2010.May.09. 16:31:44 »
Megnéztem :D, tartom magam az előbbiekhez, a tömörített verziónak a hangja hasonlít legjobban a CPC-shez, helyenként még jobb is, a 220-asban a robbanások nagyon jók. Valamilyen torzítást használsz?

Offline IstvanV

  • EP addict
  • *
  • Posts: 4756
  • OS:
  • Linux 64 bit (Suse) Linux 64 bit (Suse)
  • Browser:
  • Firefox 3.5.4 Firefox 3.5.4
    • View Profile
Re: Cybernoid
« Reply #34 on: 2010.May.09. 16:45:05 »
Megnéztem :D, tartom magam az előbbiekhez, a tömörített verziónak a hangja hasonlít legjobban a CPC-shez, helyenként még jobb is, a 220-asban a robbanások nagyon jók. Valamilyen torzítást használsz?

Az egyes verziók között az az eltérés, hogy mi történik akkor, ha egy csatornán egyszerre van négyszögjel és zaj (ezt a program nem tudja emulálni, tehát más effektussal helyettesíti):
  - az elsőben csak a zajgenerátor hallható (az 5 bites AY frekvencia EP-re konvertálva, 17 bites polinom számlálóval)
  - a cyber220.com a négyszögjel frekvenciáját használja, de 5 bites polinom számlálóval torzítva (ugyanezt használtam az Exolon-ban, és Attus is)
  - a cyber230.com ugyanez, csak 17 bites polinom számlálóval 5 bites helyett (ami a gyakorlatban torzítás helyett "normál" zajt jelent)
  - a cyber280.com szintén négyszögjel frekvenciát használ, de polinom számláló helyett gyűrűmodulációval torzítva (ezek alapján talán kitalálható a file nevek jelentése :))

Egyébként egyszerűen lehet kísérletezni: a forráskód elején át kell írni a "COMPRESSED_PRG"-t 1-ről 0-ra (így a csomagolás elkerülhető), illetve a "TONE_AND_NOISE_MODE"-t (ez a 1277. sorban van, de egyszerű kereséssel is meg lehet találni) beállítani:
  - 0: négyszögjel frekvencia torzítás nélkül (azaz csak négyszögjel)
  - 1: zaj frekvencia 17 bites torzítással (azaz csak zaj)
  - >=16: négyszögjel frekvencia, az A1h/A3h/A5h port felső négy bitje a megadott érték lesz (pl. 80h = gyűrűmoduláció); érdemes megjegyezni, hogy az A6h port 10h-ra van állítva, ezért 4, 5, vagy 17 bites polinom számlálót lehet választani
A cybnoid2.s sjasm-el fordítható.
« Last Edit: 2010.May.09. 16:50:38 by IstvanV »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4756
  • OS:
  • Linux 64 bit (Suse) Linux 64 bit (Suse)
  • Browser:
  • Firefox 3.5.4 Firefox 3.5.4
    • View Profile
Re: Cybernoid
« Reply #35 on: 2010.May.09. 17:07:42 »
Határozottan a 220-as a legjobb! Betömöríted azt (és a forráskódját is felrakod)?

* cybnoid2.prg (36.61 kB - downloaded 183 times.)
* cybnoid2.s (71.81 kB - downloaded 174 times.)

A korábbi 655 byte-os CYBNOID2.COM file használható ezzel is, mert az csak egy DL2 betöltő. A forráskódban csak a már említett TONE_AND_NOISE_MODE sor változott.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4756
  • OS:
  • Linux 64 bit (Suse) Linux 64 bit (Suse)
  • Browser:
  • Firefox 3.5.4 Firefox 3.5.4
    • View Profile
Re: Cybernoid
« Reply #36 on: 2010.May.09. 18:07:07 »
Paletta-, és BIASkereső meg király, a megfelelő paletta megtalálásával eltöltöttem legalább 2 órát mindig, hacsak nem 4színű volt a program :D (bár a Head Over Heelsnek a betöltőképe 16 színű volt)

Példa a használatára: Cybernoid 2 konvertálása:
  * cybernoid2_g0100.ep128s (96.28 kB - downloaded 181 times.)
Ez a CPC snapshot közvetlenül a játék betöltődése után készült, amint éppen a 0100h címre ugrana, ahol a főprogram kezdődik, de itt megállítottam egy végtelen ciklusban (tehát G 100 monitor parancsra elindulna a játék). A paletta a 3A1h-3B0h területen található:

m 3a1 3b0
>03A1  14 0B 1C 13 15 16 0D 0A  :........
>03A9  0E 1D 0C 00 19 12 17 07  :........


A játék futása közben így is kiíratható:

io 20 2f
O 0020  14 0B 1C 13 15 16 0D 0A
O 0028  0E 1D 0C 00 19 12 17 07


A paletta konvertáló program futtatása:

cpccolor.exe =0x14 0x0B:10 0x1C 0x13 0x15 0x16 0x0D 0x0A 0x0E 0x1D:0.1 0x0C 0x00
             0x19 0x12 0x17 0x07 -pixelmapfmt 2 -pixelmap pixeltable.lua
CPC palette:
   0: 20 (Black         ): mapped to  0 (0x00), err = 0.0000
   1: 11 (Bright White  ): mapped to  1 (0xFF), err = 0.0000
   2: 28 (Red           ): mapped to  2 (0x01), err = 0.0497
   3: 19 (Bright Cyan   ): mapped to 14 (0x96), err = 0.1538
   4: 21 (Bright Blue   ): mapped to  4 (0x24), err = 0.0000
   5: 22 (Green         ): mapped to  8 (0x90), err = 0.0597
   6: 13 (Bright Magenta): mapped to  6 (0x6D), err = 0.0000
   7: 10 (Bright Yellow ): mapped to  7 (0xDB), err = 0.0000
   8: 14 (Orange        ): mapped to  3 (0x6B), err = 0.1637
   9: 29 (Mauve         ): mapped to  6 (0x6D), err = 0.3494
  10: 12 (Bright Red    ): mapped to  5 (0x49), err = 0.0000
  11:  0 (White         ): mapped to 13 (0x95), err = 0.1047
  12: 25 (Pastel Green  ): mapped to 15 (0x97), err = 0.0787
  13: 18 (Bright Green  ): mapped to 10 (0x92), err = 0.0000
  14: 23 (Sky Blue      ): mapped to 12 (0x94), err = 0.1639
  15:  7 (Pink          ): mapped to  3 (0x6B), err = 0.0981
Enterprise palette: 0x00, 0xFF, 0x01, 0x6B, 0x24, 0x49, 0x6D, 0xDB
Enterprise bias:    18 (0 to 31) / 0x90 (0 to 0xF8)


Az első színnél a '=' azt jelenti, hogy ez a szín nem helyezhető át a palettán (tehát a 00h byte-ok nem változnak a konvertálás után), a ':' utáni számmal pedig az adott szín fontosságát lehet állítani (alapértelmezés szerint mind 1.0), azaz itt a 10.0 érték miatt fontos, hogy a "Bright White" szín pontos legyen (mert egyébként valamilyen világos szürkészöld szín lenne), a - játékban gyakorlatilag sehol nem használt - "Mauve" szín pedig nem lényeges, ezért az 0.1-re van állítva (látható is, hogy annál lett a legnagyobb a hiba). A '-pixelmapfmt 2' Lua táblázat formátumot választ, a '-pixelmap' pedig a kimeneti file nevét. További használható paraméterek is vannak, ezeket a 'cpccolor.exe' paraméterek nélküli futtatásával lehet listázni.

A konvertálás például az alábbi scripttel végezhető:

Code: Lua
  1. dofile("/tmp/pixeltable.lua")
  2.  
  3. function pixelConv(a)
  4.   writeMemoryRaw(a, pixelConvTable[readMemoryRaw(a) + 1])
  5. end
  6.  
  7. pixelConv(0x13B2)
  8. pixelConv(0x13B7)
  9. for i = 0x5AA6, 0xAE95 do
  10.   pixelConv(i)
  11. end

Itt a dofile()-nál természetesen a táblázat file tényleges helyét kell megadni (Windowson az esetleges \ karakterek helyett \\-t írva), de a táblázat akár egyszerűen be is másolható a dofile() helyére. Amint látható, pixel adatok a 13B2h, 13B7h (ezek a kódban vannak és a játékos "lézer" lövéseinek a pixelei) címeken, illetve 5AA6h-AE95h területen találhatók. Ezeknek a megtalálása fontos része az átírásnak (a Spectrumos attribútumokhoz hasonlóan), itt most éppen elég egyszerű volt.

A működőképes átirathoz már csak ezeket a változtatásokat kellett elvégezni:

Code: Diff
  1. @@ -26,25 +26,46 @@
  2.  .   0031  D9           EXX
  3.  .   0032  21 2B 00     LD    HL, 002B
  4.  .   0035  71           LD    (HL), C
  5.  .   0036  18 08        JR    0040
  6. -.   0038  C3 39 B9     JP    B939
  7. -.   003B  C9           RET
  8. +.   0038  00           NOP
  9. +.   0039  00           NOP
  10. +.   003A  00           NOP
  11. +.   003B  00           NOP
  12.  .   003C  00           NOP
  13.  .   003D  00           NOP
  14.  .   003E  00           NOP
  15.  .   003F  00           NOP
  16. -.   0040  CA 22 F3     JP    Z, F322
  17. -.   0043  21 00 C0     LD    HL, C000
  18. -.   0046  11 00 A0     LD    DE, A000
  19. -.   0049  01 FF 1F     LD    BC, 1FFF
  20. -.   004C  ED B0        LDIR
  21. -.   004E  21 00 C0     LD    HL, C000
  22. -.   0051  11 01 C0     LD    DE, C001
  23. -.   0054  01 FF 3F     LD    BC, 3FFF
  24. -.   0057  36 00        LD    (HL), 00
  25. -.   0059  ED B0        LDIR
  26. -.   005B  C3 5B 00     JP    005B
  27. +.   0040  00           NOP
  28. +.   0041  00           NOP
  29. +.   0042  00           NOP
  30. +.   0043  00           NOP
  31. +.   0044  00           NOP
  32. +.   0045  00           NOP
  33. +.   0046  00           NOP
  34. +.   0047  00           NOP
  35. +.   0048  00           NOP
  36. +.   0049  00           NOP
  37. +.   004A  00           NOP
  38. +.   004B  00           NOP
  39. +.   004C  00           NOP
  40. +.   004D  00           NOP
  41. +.   004E  00           NOP
  42. +.   004F  00           NOP
  43. +.   0050  00           NOP
  44. +.   0051  00           NOP
  45. +.   0052  00           NOP
  46. +.   0053  00           NOP
  47. +.   0054  00           NOP
  48. +.   0055  00           NOP
  49. +.   0056  00           NOP
  50. +.   0057  00           NOP
  51. +.   0058  00           NOP
  52. +.   0059  00           NOP
  53. +.   005A  00           NOP
  54. +.   005B  00           NOP
  55. +.   005C  00           NOP
  56. +.   005D  00           NOP
  57.  .   005E  00           NOP
  58.  .   005F  1A           LD    A, (DE)
  59.  .   0060  06 0A        LD    B, 0A
  60.  .   0062  00           NOP
  61. @@ -371,14 +392,17 @@
  62.  .   029C  85           ADD   A, L
  63.  .   029D  6F           LD    L, A
  64.  .   029E  F1           POP   AF
  65.  .   029F  C9           RET
  66. -.   02A0  C5           PUSH  BC
  67. -.   02A1  D5           PUSH  DE
  68. -.   02A2  E5           PUSH  HL
  69. -.   02A3  21 00 00     LD    HL, 0000
  70. -.   02A6  11 00 00     LD    DE, 0000
  71. -.   02A9  ED B0        LDIR
  72. +.   02A0  F5           PUSH  AF
  73. +.   02A1  C5           PUSH  BC
  74. +.   02A2  0B           DEC   BC
  75. +.   02A3  79           LD    A, C
  76. +.   02A4  B0           OR    B
  77. +.   02A5  C2 A2 02     JP    NZ, 02A2
  78. +.   02A8  C1           POP   BC
  79. +.   02A9  F1           POP   AF
  80. +.   02AA  C9           RET
  81.  .   02AB  E1           POP   HL
  82.  .   02AC  D1           POP   DE
  83.  .   02AD  C1           POP   BC
  84.  .   02AE  C9           RET
  85. @@ -477,50 +501,102 @@
  86.  .   033E  D8           RET   C
  87.  .   033F  3C           INC   A
  88.  .   0340  C9           RET
  89.  .   0341  F3           DI  
  90. -.   0342  01 0D BC     LD    BC, BC0D
  91. -.   0345  ED 49        OUT   (C), C
  92. -.   0347  01 00 BD     LD    BC, BD00
  93. -.   034A  ED 49        OUT   (C), C
  94. -.   034C  01 0C BC     LD    BC, BC0C
  95. -.   034F  ED 49        OUT   (C), C
  96. -.   0351  01 30 BD     LD    BC, BD30
  97. -.   0354  ED 49        OUT   (C), C
  98. -.   0356  01 01 BC     LD    BC, BC01
  99. -.   0359  ED 49        OUT   (C), C
  100. -.   035B  01 20 BD     LD    BC, BD20
  101. -.   035E  ED 49        OUT   (C), C
  102. -.   0360  01 02 BC     LD    BC, BC02
  103. -.   0363  ED 49        OUT   (C), C
  104. -.   0365  01 2B BD     LD    BC, BD2B
  105. -.   0368  ED 49        OUT   (C), C
  106. -.   036A  01 06 BC     LD    BC, BC06
  107. -.   036D  ED 49        OUT   (C), C
  108. -.   036F  01 18 BD     LD    BC, BD18
  109. -.   0372  ED 49        OUT   (C), C
  110. -.   0374  01 07 BC     LD    BC, BC07
  111. -.   0377  ED 49        OUT   (C), C
  112. -.   0379  01 1D BD     LD    BC, BD1D
  113. -.   037C  ED 49        OUT   (C), C
  114. -.   037E  06 7F        LD    B, 7F
  115. -.   0380  0E 10        LD    C, 10
  116. -.   0382  ED 49        OUT   (C), C
  117. -.   0384  0E 54        LD    C, 54
  118. -.   0386  ED 49        OUT   (C), C
  119. -.   0388  21 A1 03     LD    HL, 03A1
  120. -.   038B  0E 00        LD    C, 00
  121. -.   038D  16 10        LD    D, 10
  122. -.   038F  ED 49        OUT   (C), C
  123. -.   0391  7E           LD    A, (HL)
  124. -.   0392  23           INC   HL
  125. -.   0393  F6 40        OR    40
  126. -.   0395  ED 79        OUT   (C), A
  127. -.   0397  0C           INC   C
  128. -.   0398  15           DEC   D
  129. -.   0399  20 F4        JR    NZ, 038F
  130. -.   039B  01 8C 7F     LD    BC, 7F8C
  131. -.   039E  ED 49        OUT   (C), C
  132. +.   0342  C9           RET
  133. +.   0343  C9           RET
  134. +.   0344  C9           RET
  135. +.   0345  C9           RET
  136. +.   0346  C9           RET
  137. +.   0347  C9           RET
  138. +.   0348  C9           RET
  139. +.   0349  C9           RET
  140. +.   034A  C9           RET
  141. +.   034B  C9           RET
  142. +.   034C  C9           RET
  143. +.   034D  C9           RET
  144. +.   034E  C9           RET
  145. +.   034F  C9           RET
  146. +.   0350  C9           RET
  147. +.   0351  C9           RET
  148. +.   0352  C9           RET
  149. +.   0353  C9           RET
  150. +.   0354  C9           RET
  151. +.   0355  C9           RET
  152. +.   0356  C9           RET
  153. +.   0357  C9           RET
  154. +.   0358  C9           RET
  155. +.   0359  C9           RET
  156. +.   035A  C9           RET
  157. +.   035B  C9           RET
  158. +.   035C  C9           RET
  159. +.   035D  C9           RET
  160. +.   035E  C9           RET
  161. +.   035F  C9           RET
  162. +.   0360  C9           RET
  163. +.   0361  C9           RET
  164. +.   0362  C9           RET
  165. +.   0363  C9           RET
  166. +.   0364  C9           RET
  167. +.   0365  C9           RET
  168. +.   0366  C9           RET
  169. +.   0367  C9           RET
  170. +.   0368  C9           RET
  171. +.   0369  C9           RET
  172. +.   036A  C9           RET
  173. +.   036B  C9           RET
  174. +.   036C  C9           RET
  175. +.   036D  C9           RET
  176. +.   036E  C9           RET
  177. +.   036F  C9           RET
  178. +.   0370  C9           RET
  179. +.   0371  C9           RET
  180. +.   0372  C9           RET
  181. +.   0373  C9           RET
  182. +.   0374  C9           RET
  183. +.   0375  C9           RET
  184. +.   0376  C9           RET
  185. +.   0377  C9           RET
  186. +.   0378  C9           RET
  187. +.   0379  C9           RET
  188. +.   037A  C9           RET
  189. +.   037B  C9           RET
  190. +.   037C  C9           RET
  191. +.   037D  C9           RET
  192. +.   037E  C9           RET
  193. +.   037F  C9           RET
  194. +.   0380  C9           RET
  195. +.   0381  C9           RET
  196. +.   0382  C9           RET
  197. +.   0383  C9           RET
  198. +.   0384  C9           RET
  199. +.   0385  C9           RET
  200. +.   0386  C9           RET
  201. +.   0387  C9           RET
  202. +.   0388  C9           RET
  203. +.   0389  C9           RET
  204. +.   038A  C9           RET
  205. +.   038B  C9           RET
  206. +.   038C  C9           RET
  207. +.   038D  C9           RET
  208. +.   038E  C9           RET
  209. +.   038F  C9           RET
  210. +.   0390  C9           RET
  211. +.   0391  C9           RET
  212. +.   0392  C9           RET
  213. +.   0393  C9           RET
  214. +.   0394  C9           RET
  215. +.   0395  C9           RET
  216. +.   0396  C9           RET
  217. +.   0397  C9           RET
  218. +.   0398  C9           RET
  219. +.   0399  C9           RET
  220. +.   039A  C9           RET
  221. +.   039B  C9           RET
  222. +.   039C  C9           RET
  223. +.   039D  C9           RET
  224. +.   039E  C9           RET
  225. +.   039F  C9           RET
  226.  .   03A0  C9           RET
  227.  .   03A1  14           INC   D
  228.  .   03A2  0B           DEC   BC
  229.  .   03A3  1C           INC   E
  230. @@ -668,39 +744,59 @@
  231.  .   0457  FF           RST   38
  232.  .   0458  FF           RST   38
  233.  .   0459  FF           RST   38
  234.  .   045A  FF           RST   38
  235. -.   045B  21 51 04     LD    HL, 0451
  236. -.   045E  01 0E F4     LD    BC, F40E
  237. -.   0461  ED 49        OUT   (C), C
  238. -.   0463  06 F6        LD    B, F6
  239. -.   0465  ED 78        IN    A, (C)
  240. -.   0467  E6 30        AND   30
  241. -.   0469  4F           LD    C, A
  242. -.   046A  F6 C0        OR    C0
  243. -.   046C  ED 79        OUT   (C), A
  244. -.   046E  ED 49        OUT   (C), C
  245. -.   0470  04           INC   B
  246. -.   0471  3E 92        LD    A, 92
  247. -.   0473  ED 79        OUT   (C), A
  248. -.   0475  C5           PUSH  BC
  249. -.   0476  CB F1        SET   6, C
  250. -.   0478  06 F6        LD    B, F6
  251. -.   047A  ED 49        OUT   (C), C
  252. -.   047C  06 F4        LD    B, F4
  253. -.   047E  ED 78        IN    A, (C)
  254. -.   0480  77           LD    (HL), A
  255. -.   0481  23           INC   HL
  256. -.   0482  0C           INC   C
  257. -.   0483  79           LD    A, C
  258. -.   0484  E6 0F        AND   0F
  259. -.   0486  FE 0A        CP    0A
  260. -.   0488  20 EE        JR    NZ, 0478
  261. -.   048A  C1           POP   BC
  262. -.   048B  3E 82        LD    A, 82
  263. -.   048D  ED 79        OUT   (C), A
  264. -.   048F  05           DEC   B
  265. -.   0490  ED 49        OUT   (C), C
  266. +.   045B  11 51 04     LD    DE, 0451
  267. +.   045E  CD 60 03     CALL  0360
  268. +.   0461  06           DEFB  06
  269. +.   0462  C9           RET
  270. +.   0463  C9           RET
  271. +.   0464  C9           RET
  272. +.   0465  C9           RET
  273. +.   0466  C9           RET
  274. +.   0467  C9           RET
  275. +.   0468  C9           RET
  276. +.   0469  C9           RET
  277. +.   046A  C9           RET
  278. +.   046B  C9           RET
  279. +.   046C  C9           RET
  280. +.   046D  C9           RET
  281. +.   046E  C9           RET
  282. +.   046F  C9           RET
  283. +.   0470  C9           RET
  284. +.   0471  C9           RET
  285. +.   0472  C9           RET
  286. +.   0473  C9           RET
  287. +.   0474  C9           RET
  288. +.   0475  C9           RET
  289. +.   0476  C9           RET
  290. +.   0477  C9           RET
  291. +.   0478  C9           RET
  292. +.   0479  C9           RET
  293. +.   047A  C9           RET
  294. +.   047B  C9           RET
  295. +.   047C  C9           RET
  296. +.   047D  C9           RET
  297. +.   047E  C9           RET
  298. +.   047F  C9           RET
  299. +.   0480  C9           RET
  300. +.   0481  C9           RET
  301. +.   0482  C9           RET
  302. +.   0483  C9           RET
  303. +.   0484  C9           RET
  304. +.   0485  C9           RET
  305. +.   0486  C9           RET
  306. +.   0487  C9           RET
  307. +.   0488  C9           RET
  308. +.   0489  C9           RET
  309. +.   048A  C9           RET
  310. +.   048B  C9           RET
  311. +.   048C  C9           RET
  312. +.   048D  C9           RET
  313. +.   048E  C9           RET
  314. +.   048F  C9           RET
  315. +.   0490  C9           RET
  316. +.   0491  C9           RET
  317.  .   0492  C9           RET
  318.  .   0493  0E 00        LD    C, 00
  319.  .   0495  79           LD    A, C
  320.  .   0496  21 00 C0     LD    HL, C000
  321. @@ -2083,12 +2179,19 @@
  322.  .   0D09  36 00        LD    (HL), 00
  323.  .   0D0B  01 06 00     LD    BC, 0006
  324.  .   0D0E  09           ADD   HL, BC
  325.  .   0D0F  18 B8        JR    0CC9
  326. -.   0D11  3E C3        LD    A, C3
  327. -.   0D13  32 38 00     LD    (0038), A
  328. -.   0D16  21 1D 0D     LD    HL, 0D1D
  329. -.   0D19  22 39 00     LD    (0039), HL
  330. +.   0D11  C9           RET
  331. +.   0D12  C9           RET
  332. +.   0D13  C9           RET
  333. +.   0D14  C9           RET
  334. +.   0D15  C9           RET
  335. +.   0D16  C9           RET
  336. +.   0D17  C9           RET
  337. +.   0D18  C9           RET
  338. +.   0D19  C9           RET
  339. +.   0D1A  C9           RET
  340. +.   0D1B  C9           RET
  341.  .   0D1C  C9           RET
  342.  .   0D1D  F5           PUSH  AF
  343.  .   0D1E  C5           PUSH  BC
  344.  .   0D1F  D5           PUSH  DE
  345. @@ -2101,11 +2204,12 @@
  346.  .   0D28  C5           PUSH  BC
  347.  .   0D29  D5           PUSH  DE
  348.  .   0D2A  E5           PUSH  HL
  349.  .   0D2B  01 00 F5     LD    BC, F500
  350. -.   0D2E  ED 78        IN    A, (C)
  351. -.   0D30  1F           RRA
  352. -.   0D31  D2 3E 0D     JP    NC, 0D3E
  353. +.   0D2E  C3 34 0D     JP    0D34
  354. +.   0D31  00           NOP
  355. +.   0D32  00           NOP
  356. +.   0D33  00           NOP
  357.  .   0D34  21 50 0D     LD    HL, 0D50
  358.  .   0D37  34           INC   (HL)
  359.  .   0D38  CD 8E B1     CALL  B18E
  360.  .   0D3B  CD 5B 04     CALL  045B
  361. @@ -33961,25 +34065,37 @@
  362.  .   B25F  CD 8D B2     CALL  B28D
  363.  .   B262  2A 85 B4     LD    HL, (B485)
  364.  .   B265  22 7B B4     LD    (B47B), HL
  365.  .   B268  CD 33 B4     CALL  B433
  366. -.   B26B  AF           XOR   A
  367. -.   B26C  21 84 B4     LD    HL, B484
  368. -.   B26F  11 0D F4     LD    DE, F40D
  369. -.   B272  42           LD    B, D
  370. -.   B273  ED 59        OUT   (C), E
  371. -.   B275  01 C0 F6     LD    BC, F6C0
  372. -.   B278  ED 49        OUT   (C), C
  373. -.   B27A  ED 79        OUT   (C), A
  374. -.   B27C  42           LD    B, D
  375. -.   B27D  4E           LD    C, (HL)
  376. -.   B27E  2B           DEC   HL
  377. -.   B27F  ED 49        OUT   (C), C
  378. -.   B281  01 80 F6     LD    BC, F680
  379. -.   B284  ED 49        OUT   (C), C
  380. -.   B286  ED 79        OUT   (C), A
  381. -.   B288  1D           DEC   E
  382. -.   B289  F2 72 B2     JP    P, B272
  383. +.   B26B  11 84 B4     LD    DE, B484
  384. +.   B26E  CD 60 03     CALL  0360
  385. +.   B271  12           DEFB  12
  386. +.   B272  C9           RET
  387. +.   B273  C9           RET
  388. +.   B274  C9           RET
  389. +.   B275  C9           RET
  390. +.   B276  C9           RET
  391. +.   B277  C9           RET
  392. +.   B278  C9           RET
  393. +.   B279  C9           RET
  394. +.   B27A  C9           RET
  395. +.   B27B  C9           RET
  396. +.   B27C  C9           RET
  397. +.   B27D  C9           RET
  398. +.   B27E  C9           RET
  399. +.   B27F  C9           RET
  400. +.   B280  C9           RET
  401. +.   B281  C9           RET
  402. +.   B282  C9           RET
  403. +.   B283  C9           RET
  404. +.   B284  C9           RET
  405. +.   B285  C9           RET
  406. +.   B286  C9           RET
  407. +.   B287  C9           RET
  408. +.   B288  C9           RET
  409. +.   B289  C9           RET
  410. +.   B28A  C9           RET
  411. +.   B28B  C9           RET
  412.  .   B28C  C9           RET
  413.  .   B28D  22 85 B4     LD    (B485), HL
  414.  .   B290  DD 7E 10     LD    A, (IX+10)
  415.  .   B293  B7           OR    A

A betöltőképhez még külön palettát és BIAS-t kerestem, amely más, mint a játékban, és a fent leírthoz hasonló módon konvertáltam a pixeleket.
« Last Edit: 2010.May.09. 18:13:40 by IstvanV »

Online geco

  • EP addict
  • *
  • Posts: 5088
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.5.9 Firefox 3.5.9
    • View Profile
Re: Cybernoid
« Reply #37 on: 2010.May.09. 22:29:31 »
Köszönöm szépen a palettakonverziós progi leírását, jól fog még jönni :D, csak térjek vissza a CPC-s programokhoz, le is mentettem az utókornak ;)
A színkonvertálásra írtam egy assembly kódot anno, amibe csak a 16 színt kellett behelyezni, abban a sorrendben, ahogy majd EP-n fog kinézni, meg megadni a kezdőcímet, és a végét, betölteni a file-t és go, majd mentés, lehet kipróbálom majd a LUA-s színkonverziót is.
Nem is kellett sok helyen belenyúlni a programba :), ha jól emlékszem, akkor az Exolon is ennyi, ha nem kevesebb túrkálást kívánt, sőt még a pixel adatok is egy kupacban voltak, 1-2 dolog volt csak máshol, isten áldja meg a Hewsont :D, ha nehezebb lett volna, tuti elakadok, úgy, mint az Alien Attacknál (annak estem neki először, még az assemblyvel is csak ismerkedve), de aztán csak meglett az is :D

Offline Lacika

  • EP addict
  • *
  • Posts: 2886
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.6.3 Firefox 3.6.3
    • View Profile
    • http://www.ep128.hu
Re: Cybernoid
« Reply #38 on: 2010.May.09. 22:33:34 »
Cybernoid 1-2 felkerült a disk image-ekre (16-os lemez). Bármelyik EXOS-as, resetnél pontszámtáblát elmenti de ezután nem tud szabályosan kilépni. (2.1-es, 2.32-es EXOS-al is.)
Ha floppy-t használok (mármint igazit), akkor ki tud lépni. Ezt nem értem...

Offline IstvanV

  • EP addict
  • *
  • Posts: 4756
  • OS:
  • Linux 64 bit (Suse) Linux 64 bit (Suse)
  • Browser:
  • Firefox 3.5.4 Firefox 3.5.4
    • View Profile
Re: Cybernoid
« Reply #39 on: 2010.May.09. 22:52:23 »
Cybernoid 1-2 felkerült a disk image-ekre (16-os lemez). Bármelyik EXOS-as, resetnél pontszámtáblát elmenti de ezután nem tud szabályosan kilépni. (2.1-es, 2.32-es EXOS-al is.)
Ha floppy-t használok (mármint igazit), akkor ki tud lépni. Ezt nem értem...

Ez nem lehet véletlenül valamilyen EXOS 0 fagyás ? Most ellenőriztem, ha van ASMON ROM a rendszerben, akkor még a 2.32 is le tud fagyni. Egyébként nem látom, hogy itt mi akadhat el (különösen attól függően, hogy a floppy igazi-e :)) - eltekintve a 'JP C00Dh' után már az EXOS ROM-ban következő 'LD C, 20h : EXOS 0'-tól:

Code: ZiLOG Z80 Assembler
  1. resetRoutine:
  2.         di
  3.         ld    sp, 0100h
  4.         ld    a, 0ffh
  5.         out   (0b2h), a
  6.         ld    hl, resetRoutine
  7.         ld    (0bff8h), hl
  8.         ld    hl, (0bff4h)
  9.         set   7, h
  10.         set   6, h
  11.         call  setLPTAddress & 3fffh
  12. .l1:    jr    .l3                       ; * replaced with JR +00
  13.         ld    a, (cpcSegments & 3fffh)  ; to enable saving high score table
  14.         out   (0b1h), a
  15.         xor   a
  16.         ld    de, highScoreFileName
  17.         exos  2
  18.         or    a
  19.         jr    nz, .l2
  20.         ld    de, 719ah                 ; save high score table
  21.         ld    bc, 0061h
  22.         exos  8
  23. .l2:    xor   a
  24.         exos  3
  25.         di
  26. .l3:    ld    a, (origZPSegment)
  27.         or    a
  28.         jr    z, .l4
  29.         out   (0b1h), a
  30.         ld    hl, 0000h
  31.         ld    de, 4000h
  32.         ld    bc, zpFreeSpaceBegin
  33.         ldir
  34.         ld    (0bffch), a
  35.         out   (0b0h), a
  36.         xor   a
  37.         ld    (origZPSegment), a
  38. .l4:    ld    c, 40h
  39.         exos  0
  40.         di
  41.         ld    a, 01h
  42.         out   (0b3h), a
  43.         ld    a, 06h
  44.         jp    0c00dh

Offline Lacika

  • EP addict
  • *
  • Posts: 2886
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Microsoft Internet Explorer 6.0 Microsoft Internet Explorer 6.0
    • View Profile
    • http://www.ep128.hu
Re: Cybernoid
« Reply #40 on: 2010.May.10. 08:04:40 »
Ez nem lehet véletlenül valamilyen EXOS 0 fagyás ? Most ellenőriztem, ha van ASMON ROM a rendszerben, akkor még a 2.32 is le tud fagyni.

Amikor 2.1-es EXOS-al néztem, alap konfig volt, ASMON nélkül.
Ami még eszembe jutott: talán az kavarhat be, hogy a "lemezeken" a több, apróbb file-ból álló programokat rakom előre, és utána EPDOS-ból ORDER-el rendezem? Más tippem nincs, ha hazamegyek kipróbálom.

Offline Lacika

  • EP addict
  • *
  • Posts: 2886
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.6.3 Firefox 3.6.3
    • View Profile
    • http://www.ep128.hu
Re: Cybernoid
« Reply #41 on: 2010.May.10. 17:51:21 »
Amikor 2.1-es EXOS-al néztem, alap konfig volt, ASMON nélkül.
Ami még eszembe jutott: talán az kavarhat be, hogy a "lemezeken" a több, apróbb file-ból álló programokat rakom előre, és utána EPDOS-ból ORDER-el rendezem? Más tippem nincs, ha hazamegyek kipróbálom.

Lehet, hogy emulátor bug?
Ha az image-ből kimásolom lemezre, akkor működik. Teljesen "steril" imgage-be bemásolom, mentés után nem indul újra.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4756
  • OS:
  • Linux 64 bit (Suse) Linux 64 bit (Suse)
  • Browser:
  • Firefox 3.5.4 Firefox 3.5.4
    • View Profile
Re: Cybernoid
« Reply #42 on: 2010.May.10. 18:18:32 »
Code: ZiLOG Z80 Assembler
  1. .l3:    ld    a, (origZPSegment)
  2.         ...
  3.         ld    (origZPSegment), a

Mégis a játék betöltőjében van a hiba: itt a változóhoz rossz lapon/szegmensen próbál hozzáférni a program ("origZPSegment & 3fffh"-ra cserélve javítható). :oops: Hamarosan feltöltök javított file-okat.
« Last Edit: 2010.May.10. 18:25:07 by IstvanV »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4756
  • OS:
  • Linux 64 bit (Suse) Linux 64 bit (Suse)
  • Browser:
  • Firefox 3.5.4 Firefox 3.5.4
    • View Profile
Re: Cybernoid
« Reply #43 on: 2010.May.10. 23:40:16 »
Javítás:
  * cybrnoid.prg (28.85 kB - downloaded 160 times.)
  * cybrnoid.s (71.83 kB - downloaded 150 times.)
  * cybnoid2.prg (36.6 kB - downloaded 160 times.)
  * cybnoid2.s (71.83 kB - downloaded 163 times.)
A korábbi tömörített verziók .com file-jai továbbra is használhatók, illetve a .prg-k DL2-vel is betölthetők. Mindkét játéknál TONE_AND_NOISE_MODE=1 hang van, de fordíthatok más (pl. 20h) beállítással is. Kisebb jelentőségű változtatás, hogy a Cybernoid 1 is a második rész újabb betöltő verzióját használja.

Offline Lacika

  • EP addict
  • *
  • Posts: 2886
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Microsoft Internet Explorer 6.0 Microsoft Internet Explorer 6.0
    • View Profile
    • http://www.ep128.hu
Re: Cybernoid
« Reply #44 on: 2010.May.11. 07:57:16 »
Mindkét játéknál TONE_AND_NOISE_MODE=1 hang van

Ez volt a cyber220.com?
 :oops: