Enterprise Forever
:HUN => Konvertálás => Spectrum-ról => Topic started by: geco on 2021.November.28. 20:54:15
-
Elkészült a The Next War teszt verzió, minimum gépigény 128KB, ekkor nincs zene a menüben, 256KB és felette a szabad memória feltöltődik a zenével, a teljes zene 2,5 MB-os konfigba tölthető be.
4MHz-en a játék 30. hullám felett be-belassul, az utolsó párban jól érezhezhetően :D, de szerintem még jól játszható, ideális sebesség 8 MHz és felette.
A hangeffektek hangmagassága, és a zene megszakítása a CPU frekijének megfelelően változtatva.
-
Találtam egy kis hibát, kiszedtem a 3 AY támogatást a kódból, és így 3 bájttal többet törölt az egyik rész, ezért új játéknál maradt a sustorgás, javítottam, a csatolmányt lecseréltem.
-
Még két hiba javítva, csatolmány cserélve.
Fölfelé menet a tank lefelé nézett
Ha a játékból kiléptünk, előfordult, hogy a hatótáv jelző keret megmaradt a következő játékban.
-
Elkészült a The Next War teszt verzió, minimum gépigény 128KB, ekkor nincs zene a menüben, 256KB és felette a szabad memória feltöltődik a zenével, a teljes zene 2,5 MB-os konfigba tölthető be.
4MHz-en a játék 30. hullám felett be-belassul, az utolsó párban jól érezhezhetően :D, de szerintem még jól játszható, ideális sebesség 8 MHz és felette.
A hangeffektek hangmagassága, és a zene megszakítása a CPU frekijének megfelelően változtatva.
Te nem vagy normális... :-D Az a zene :-D
-
Te nem vagy normális... :-D Az a zene :-D
Ez volt az eredetiben is :-D , de nagyon megtetszett :-D Az a jo, hogy az eredetiben nem hallottam, mert az emulator nem toltotte be, csak a youtube-on, de azt a minimalisat is atpofaztak.
-
Szuper!
A zenét nem tölti be epfileio-val, csak HDD image-ről, ez miért van?
-
Szuper!
A zenét nem tölti be epfileio-val, csak HDD image-ről, ez miért van?
Nekem toltotte, epfileio a teszt konfigom :-D
Mennyi memoria volt a konfigban? Elmeletileg nem fajlkezelos (sima magnos) konfignal nem tolt zenet.
-
Na, ez jó hosszú ideig biztosítja az idő eltöltését. Csak azok a hülye repülők ne jönnének... Már csurig raktam légvédelemmel az egész terepet, de akkor is átrepültek.
-
Nekem toltotte, epfileio a teszt konfigom :-D
Mennyi memoria volt a konfigban? Elmeletileg nem fajlkezelos (sima magnos) konfignal nem tolt zenet.
Az lehetett a baj, hogy valami régi változata volt bent az epfileio.rom-nak.
Beraktam egy másikat, most tölti a zenét is!
-
Na, ez jó hosszú ideig biztosítja az idő eltöltését. Csak azok a hülye repülők ne jönnének... Már csurig raktam légvédelemmel az egész terepet, de akkor is átrepültek.
Jó a lila, és a sárga torony is ellenük, de a normál szinten még a 39. hullámnál, a könnyűn meg 30. hullámnál tovább nem jutottam :D :D
-
Great work!
Can you please include SF3 USB mouse? it needs very little code...
-
Can you please include SF3 USB mouse? it needs very little code...
Ok, I will check.
Do you know which bit is right button? I see bit0 of 2nd byte is the left button, but i do not see more information.
-
Jó a lila, és a sárga torony is ellenük, de a normál szinten még a 39. hullámnál, a könnyűn meg 30. hullámnál tovább nem jutottam :D :D
Én is a 30. szint környékéig jutottam.
Nekem kicsit zavaró, hogy a menüben csak az egér használható. Ha kicsit tolom az egeret, nem megy át a másik opcióra, ha kicsit jobban tolom, kettőt ugrik a nyíl.
A zene brutál metál. Az egész zenét egy wav-ban tárolod? Vannak ismétlődő részek a zenében, lehetne ugyanazt a részt többször játszani le egymás után, úgy kevésbé zabálná a memóriát - ha most nem így van megcsinálva.
Lehetne végtelen pénz választási lehetőség, még úgy is nehéz lenne kitolni a repülőkkel.
Van valami trükk, amivel úgy lehet elhelyezni a kis cuccokat a pályán, hogy ha lő, akkor mindig célba találjon? Vagy teljesen RND függvénye az egész?
Eladni hogyan kell a már lerakott kis cuccokat? Én a jobb egérgombot nyomkodom sokáig, de nem tudom, hányszor kell megnyomni.
A memory configban 2048 memóriát kell beállítani, hogy minden beleférjen?
UI: Nekem működik fileio.rom-mal is.
Az a tnw.key fájl, amit betöltés után a mappába rak, az micsoda?
-
I have checked it directly with the SF3:
-Byte 0 = X relative 8bit two's complement
-Byte 1 = Y relative 8bit two's complement
-Byte 2 = (bit 0=L, bit 1=R, bit 3=M)
-Byte 3 = wheel relative, up positive, down negative, 8 bit two's complement(On EnterMice is 4 bits two's complement)
-
EnterMice works at 4Mhz, but not at 10Mhz.
Edit: Ok, a better explanation: at 10MHz the pointer can't exit from the Right margin, it can move up/down but doesn't obey. It is probably that the Z80 can't read the relative movements, or does it partially.
Also, in the menu, the mouse buttons "bounce". The routine doesn't wait to see if the button has been released.
-
Nekem kicsit zavaró, hogy a menüben csak az egér használható. Ha kicsit tolom az egeret, nem megy át a másik opcióra, ha kicsit jobban tolom, kettőt ugrik a nyíl.
Q A Space is használható
A zene brutál metál. Az egész zenét egy wav-ban tárolod? Vannak ismétlődő részek a zenében, lehetne ugyanazt a részt többször játszani le egymás után, úgy kevésbé zabálná a memóriát - ha most nem így van megcsinálva.
Egy raw az egész, az ismétlődő részes dologgal 2 baj van, az egyik, lassít a lejátszón, a másik meg kéne csinálni :D :D
A lassítás számít többet, tippem szerint ez legalább még 50Tstate-et elvinne megszakításonként, de lehet többet is, a mostani is már jóval hosszabb a leggyorsabb lehetőségnél, mert minden megszakításban lapozgatni kell.
Lehetne végtelen pénz választási lehetőség, még úgy is nehéz lenne kitolni a repülőkkel.
Ááá, az már túl könnyű , én olyan csíttel játszottam, hogy minden gyilok a normál ára + 256 píz, úgy simán végigtoltam, hasonlót betehetek
Van valami trükk, amivel úgy lehet elhelyezni a kis cuccokat a pályán, hogy ha lő, akkor mindig célba találjon? Vagy teljesen RND függvénye az egész?
véletleszerűség van benne
Eladni hogyan kell a már lerakott kis cuccokat? Én a jobb egérgombot nyomkodom sokáig, de nem tudom, hányszor kell megnyomni.
elméletileg jobb gomb a tornyon, akkor elkezd villogni a sell for a jobb alsó sarokban, na és akkor vagy a bal gomb, vagy a jobb újra, már nem emléxem, és ezt egérrel nem is próbáltam, csak a billentyűzetes verzióban, de ott sem emléxem, hogy mégegyszer M, vagy már tűz kellett-e.
A memory configban 2048 memóriát kell beállítani, hogy minden beleférjen?
Az még kevés, de már csak a vége marad le, 2,5 megás konfiggal minden betöltődik, 3MB-vel meg 100% :D
Az a tnw.key fájl, amit betöltés után a mappába rak, az micsoda?
Az tárolja a beállított billentyűket, minden resetnél menti, lehet meg kéne csinálnom, hogy csak akkor mentsen, ha módosult.
-
EnterMice works at 4Mhz, but not at 10Mhz.
I have checked it directly with the SF3:
-Byte 0 = X relative 8bit two's complement
-Byte 1 = Y relative 8bit two's complement
-Byte 2 = (bit 0=L, bit 1=R, bit 3=M)
-Byte 3 = wheel relative, up positive, down negative, 8 bit two's complement(On EnterMice is 4 bits two's complement)
Thx, i just checked the SF3 documentation, as i remember X Y relative works on the same way on Entermice.
Strange, i used the Entermice routine what was created by István, and there it was mentioned it works on 10MHz also, the truth i tested it on emulator up to 8MHz only.
-
EnterMice works at 4Mhz, but not at 10Mhz.
EnterMice works up to 10 MHz. You checked yourself.
-
Of course it works, I mean inside this game.
-
Van egy csomó pénzem, de nem tudok venni semmit. Biztosan csak adott mennyiségű cucc lehet a pályán, és nem enged többet tenni. Viszont még ez sem elég. Nem tudom, mi kell, hogy ripityomra verjük az ellenséget.
[attach=1]
A lila ágyú hatékonyabb, mint a másik kettő? Mindkettőt kiváltja, de lassabban lő, viszont jobban megpuhítja talán mégis az ellenfelet, nem teljesen egyértelmű. Lent tele van egy rakat légvédelmi ágyúval a pálya, mégis néha átmennek rajta a repcsik. Az univerzális Jolly Joker ágyúkkal meg néha sikerül lepuffantani mindet.
-
Maximum 35 ágyút lehet venni, de lehet őket upgrade-elni, vidd az ágyú fölé a kurzort, és várj egy picit, jön az upgrade lehetőség.
-
Here is a link to the original game: https://lpotamianos.itch.io/the-next-war
There you can read all info about gameplay.
-
Módosítások:
SF3 egérkezelés beépítve
Ha nem mentünk be a billentyűzet beállító menübe, akkor nincs beállított billentyűk mentése melegindításkor.
Menüben a kurzor mozgás módosítva, egy-egy egérpöccintéssel lehet mozgatni a curzort le/fel.
F1 és F2 együttes lenyomására aktiválódik a cheat, a begyűjtött della-morte duplázódik
Az Entermice-kezelésben a késleltetés a CPU sebességének függvényében állítódik, így elméletileg nincs 10 MHz limit.
Modifications:
SF3 mouse has been inserted. ( Gustavo, could you please check if i did not enter any mistake? I checked how X Y values generated on SF3, but i did not check the game)
If we did not enter to redefine keyboard menu then keyboard setting is not saved at soft reset.
Cursor movement in menu has been modified, now it can be moved in one step up/down.
Press F1 and F2 keys simultaneously to activate the cheat which doubles money earned.
Delay has been changed in Entermice routine, now it sets based on CPU speed, theoretically 10MHz limit is not valid anymore. (Gustavo could you please check it also ?)
-
When i turned off my computer i got to my mind the SF3 routine is bad, it has been corrected, and i hope it works on 4MHz EP and on turbo EP's also, because port reading is very fast: (link below has been updated)
sf3_mouse
ld a,14h
out (41h),a
ld c,42h
in l,(c)
in h,(c)
in b,(c)
in a,(c)
ld a,b
or h
or l
ret z
pop af
ld a,b
ld (mousexy),hl ;l X,h Y
ld (mousbut+1),a ;0 button1, 1 button2
ret
-
Ok, tomorrow I will test it.
But...
sf3_mouse
ld a,14h
out (41h),a
ld c,42h
in l,(c)
in h,(c)
in b,(c)
; in a,(c) ; You don't need to read the wheel byte
ld a,b
or h
or l
ret z
pop af
ld a,b
ld (mousexy),hl ;l X,h Y
ld (mousbut+1),a ;0 button1, 1 button2
ret
Every time the SF3 is asked for the mouse, it forgets the remaining bytes and starts again from the first byte, X relative.
Very convenient for an Arkanoid game...
-
Thx, i was not sure about that, that's why i left last IN the code, i forgot to test it.
-
Both SF3 relative mouse movements need to be inverted.
Like on SymbOS, It is necessary to enter the program on 10Mhz, because if not, entering on 4Mhz and switching speeds inside the program has strange effects. This is normal.
I still have hard moments selecting the menu options with EnterMice, not related with speed. It bounces back when I select Control or Level. Also, the up-Down movement on the menu is not accurate with EnterMice, but usable.
I can't move on the options with the internal joystick, but I can do it with Q/A. I don't know if this is correct and I need to redefine the keys.
Ok, later more tests.
-
A better explanation: on the SF3 mouse,when I move the mouse up the pointer goes down, and if I move right the pointer moves left.
The buttons work correct.
-
Thank you very much for the test and the info. Strange, because during my tests when i moved the mouse left it gave negative number, and the same for up, and originally i inverted the value (but i used CPL instead of NEG), and i removed, now i will insert then a NEG :)
Only Q/A , Space, Mouse, and if i remember well EXT1 Joy can be used in menu, and it can not be redefined.
Yes, speed is tested in the loader, and later the setting is done by that check.
As i remember i tested it with mouse on Emulator, and i did not met jumping back issue, but i can try to solve the jump back issue.
-
Újabb módosítások:
SF3 egér irányának felcserélése
Menüben az egér pöccintés is változott, most 8 frame semmittevés szükséges két egérmozgatás között
Belső joy is használható a menüben
Newer updates:
SF3 mouse direction inverted (i checked correctly how it works, but i forgot that i did not inverse direction of Entermice which works reverse compared to SF3 mouse)
Mouse movement has been changed in the menu, 8 frame inactivity should occur between 2 movement.
Internal joystick can be used in menu also.
-
Sorry Geco.... Still there is the bouncing back with EnterMice. I think it is not a matter of the speed reading the buttons, the program must wait for the button to be released before reading again the button. Both 4 or 10MHz.
If I make a super short click I can select the option.
-
oooo, sorry, i misunderstood you, i thought that if you move up, then it sometimes bouncing back to down :D I worked on it, it seems emulator works differently than real EP, i did not have problem with clicking. I will fix it today.
So does Entermice works now at 10MHz also? and SF3 too?
-
Yes, all the other things work now, both on 4 and 10Mhz.
-
The Next War (https://enterpriseforever.com/spectrum-rol/the-next-war/?action=dlattach;attach=28059)
Now the program waits for mouse button state change.
Yes, all the other things work now, both on 4 and 10Mhz.
Cool, thank you very much :)
-
Now all mouse things seem to work.
Thanks.
-
Now all mouse things seem to work.
Thanks.
Thank you very much :)
-
Végleges verzió, nem változott semmi a legutóbbihoz képest.
The Next War (https://enterpriseforever.com/letoltesek-downloads/egyeb-misc/?action=dlattach;attach=28074) EP konverzió Spectrum Next-ről. A játék EXOS kompatibilis, legalább 128KB memóriát igényel, elmenti a billentyűzet beállítást, ha az változott. A játék zenéje csak legalább 256KB memóriával rendelkező gép esetén töltődik be, ebben az esetben kemény 11 másodperc ismétlődik, a teljes zene betöltéséhez 2,5 MB szükséges.
Támogatja a turbós gépeket, az Entermice késleltetése és a hang frekvencia számítása is a processzor sebességének függvényében állítódik.
A játék be-belassul 4 MHz-es gépen a 30 hullám felett, az 50. felett mindig, ezért érdemesebb turbós gépen játszani, legalább 8MHz-en ha minimális lassulással szeretnénk találkozni.
Vezérlés a menüben:
Q A Space, Ext Joy1, Int Joy, Entermice vagy SF3 egér használható.
Irányítás a játékban:
A menüben kiválasztott irányítás használható, az egér opció az Etermice-t és az SF3 egeret is lefedi.
cheat:
F1-F2 jatek kozben egyszerre lenyomva=dupla bevetel
-
https://youtu.be/qk1P-hGWYjw
-
thx :-)
-
Ha botkormánnyal játszok, és a K megnyomásával kilépek a játékból, tűz gombbal nem lehet továbblépni a statisztikából.
-
megnezem
-
Az ok egyszerű volt, a tűzgomb változót figyelte a program, csak épp annak az értéke nem frissült ott, lecseréltem direkt ext joy1 tűz figyelésre, a lenti linkről már a javított verzió tölthető le.
-
Az ok egyszerű volt, a tűzgomb változót figyelte a program, csak épp annak az értéke nem frissült ott, lecseréltem direkt ext joy1 tűz figyelésre, a lenti linkről már a javított verzió tölthető le.
Mintha a link lemaradt volna.... :roll: :smt017
-
Mintha a link lemaradt volna.... :roll: :smt017
Nem csináltam új linket, az eredetit módosítottam pár hozzászólással lejjebb.
-
Hacsak úgy nem... :lol:
-
A játék be-belassul 4 MHz-es gépen a 30 hullám felett
Nekem nem tűnt fel lassulás 30 felett. Vagy csak az egyéb dolgok (pl. bosszantó repcsik) teljesen elterelték a figyelmem ilyen kis piti lassulásról.
-
lehet eltereltek, azok olyanok :-D , eszreveheto, 50 folott meg meg jobban.
-
https://youtu.be/qk1P-hGWYjw
There is some offset between the sound and the picture.
-
Hi guys, I am really excited to find out about the enterprise conversion of my game! I have to say I am really impressed with all that work and how you handled the next specific stuff (Z80N, dma, DAC etc). I recently acquired an enterprise 128 with the sd interface, so I will download the game and give it a go! But still, very impressive!
-
Hi and Welcome to our forum!
Can I ask you for the original image of the title screen of your game?:oops:
-
geco egy Isten vagy! Nem bírom abbahagyni :bow:
-
You need information on how it was created, or you need the original jpg file?
-
Only jpg. For video preview screen and similar needs.
-
Here you are!
-
Hi guys, I am really excited to find out about the enterprise conversion of my game! I have to say I am really impressed with all that work and how you handled the next specific stuff (Z80N, dma, DAC etc). I recently acquired an enterprise 128 with the sd interface, so I will download the game and give it a go! But still, very impressive!
Hello lpotamianos, welcome in the forum :)
I do not know if you saw my answer on youtube :)
Thank you very much for the great game, and for the great music choice. Z80N instructions have been changed to normal Z80 instruction combinations :) There is no DMA, the game loads music (if the machine has more than 256KB memory) to the memory, and plays that what could be loaded, play back full music need 2,5 MB memory, DAVE chip's 6 bit DAC is used for digi playback, and 11KHz interrupt. Normally the game is not slower (what i experienced, 1st car goes over the map 14 sec slower than on Next but i think there is 60Hz video interrupt), the horizontal movement is not so smooth, because the horizontal resolution is half, there are some slow downs on a 4MHz CPU after 30rd wave, and always after wave 50, on 8MHz CPU the situation is much better, some slow downs after wave 50.
"Sprites" are drawn in each frame, i tried to do it as fast as possible, i am sure it could be a bit faster, towers are drawn only in case they are changed, shot sprite size decreased from height 16 to 2, and for speed reason 10-10 ground sprite phases are stored (i wanted to avoid horizontal morrirong, because it would be a bit slower than the vertical) , there is also a memory saving solution for air units, only Helicopter sprites have 4 definitions for the 2 phases, phase 1 in X+0 position, and X+1, and phase 2 in X+0 and X+1, others have phase 1 in X+0 and phase 2 in X+1 that's why their flashing is slow, because their phase changes only when they moved 1 pixel.
If you are interested about the source what was made from disassembly , i can send it to you :)
-
Helló! A Next csapat tagja vagyok, és szeretnék gratulálni a NextWar kikötőjéhez!
Arra voltunk kíváncsiak, hogyan csináltad az átalakítást?
A NEX fájlt szétszedted, vagy a portot a semmiből írtad?
Lamprost is nagyon lenyűgözte a munkád.
(Ezt a Google-lel fordították, ezért elnézést kérek a hibákért)
Kösz
em00k
-
Hello Em00k, welcome in the forum :)
Google made quite good translation :)
The conversion was made based on the NEX file, which was divided by NEX header to separate files named based on it's location in the memory, code files were disassembled, and created a source code from them, which gave the same binary after compiling them, when it was done Z80N instructions have been changed to Z80 "equals" and tried to understand the code parts, and modifications have been made to adapt it to Enterprise capabilities (graphics, "sprite" display routines, sound, etc)
-
Geco, you should show us a short presentation about the conversion (how is it made) next year in the club meeting! I've just realized, it was not just an easy ZX Speccy converion task! :-O
Geco, a következő klubnapon tarthatnál valami kis előadást az átalakításról, én csak most fogom fel, hogy ez nem csak egy egyszerű specci konverzió volt! :-O
-
Sikerült Next emulátorral is elindítanom a játékot. Geco nagyon jó munkát végzett. :)
[attach=1]