| View previous topic :: View next topic |
| Author |
Message |
jotd 1st Star Corporal
Joined: 03 Feb 2008 Posts: 13 Location: France
|
Posted: Sat Mar 01, 2008 3:18 pm Post subject: |
|
|
| Symoon wrote: | | jotd wrote: | | Which games are sufficiently original and oric-unique and would be worth converting/updating ? |
Ooops, I read that too quickly and kept in mind "oric classics" when I gave my answer !
So my list could be shortened to:
Zebbie
The Hellion (thought it's just another shoot-them-up game, it has loads of funny references)
Don't Press The Letter Q (totally original and Oric-only, although an Amiga version was made by Andrew Moore, but not published).
L'Aigle d'Or was ported to other platforms like MO5, with more rooms, as designed originally by the author. He had to initially remove them from the Oric version because of memory limitation ! |
I just played the Hellion. Looks like a ripoff of "The Ultra". And I prefer "The Ultra"
Don't Press The Letter Q and Zebbie are excellent candidates, although I don't know the first one very well (but Andrew Moore certainly is talented) _________________ -
JOTD |
|
| Back to top |
|
 |
Symoon Archivist

Joined: 14 Jan 2006 Posts: 327 Location: Paris, France
|
Posted: Sat Mar 01, 2008 4:15 pm Post subject: |
|
|
| jotd wrote: | I just played the Hellion. Looks like a ripoff of "The Ultra". And I prefer "The Ultra"  |
Actually, it's the sequel of The Ultra !
The 16 levels of The Ultra are included in the 101 levels of The Hellion  |
|
| Back to top |
|
 |
jotd 1st Star Corporal
Joined: 03 Feb 2008 Posts: 13 Location: France
|
Posted: Sun Mar 02, 2008 1:07 pm Post subject: |
|
|
| Symoon wrote: | | jotd wrote: | I just played the Hellion. Looks like a ripoff of "The Ultra". And I prefer "The Ultra"  |
Actually, it's the sequel of The Ultra !
The 16 levels of The Ultra are included in the 101 levels of The Hellion  |
The Ultra is superior IMHO even if it doesn't boast 101 levels.
BTW Zebbie alpha version is ready:
http://pagesperso-orange.fr/jotd/zebbie/index.html _________________ -
JOTD |
|
| Back to top |
|
 |
Dbug Site Admin

Joined: 06 Jan 2006 Posts: 953 Location: Oslo, Norway
|
Posted: Sun Mar 02, 2008 1:24 pm Post subject: |
|
|
Do you have an explanation somewhere of the process you use to convert these games ?
I can imagine easily how to translate assembly code to C using some kind of real time decompiler (like a Java JIT compiler), but I fail to see how to handle self modified or auto-generated code. |
|
| Back to top |
|
 |
jotd 1st Star Corporal
Joined: 03 Feb 2008 Posts: 13 Location: France
|
Posted: Sun Mar 02, 2008 1:59 pm Post subject: |
|
|
| Dbug wrote: | Do you have an explanation somewhere of the process you use to convert these games ?
I can imagine easily how to translate assembly code to C using some kind of real time decompiler (like a Java JIT compiler), but I fail to see how to handle self modified or auto-generated code. |
You cannot handle SMC. There was none in Xenon or Zorgon's, but there was some in Zebbie and I had a little trouble with it. But it was rather easy to find by hand.
(But I could detect it by marking the non-data sections and checking them when I write into the memory at run-time).
It's not a real-time decompiler: I disassemble the game then I convert it to C using a custom awk script. Then I try to make it compile, and work.
e.g. it's not possible to handle JMP outside procedures automatically. goto instruction only works within the procedure (and there's no such thing as a procedure in assembler, specially in the eighties ).
Sometimes code must be duplicated/rearranged. Delay loops must also be patched as well as the inputs. So a minimum of understanding of the game inner workings is required. _________________ -
JOTD |
|
| Back to top |
|
 |
Dbug Site Admin

Joined: 06 Jan 2006 Posts: 953 Location: Oslo, Norway
|
Posted: Sun Mar 02, 2008 2:21 pm Post subject: |
|
|
Ok, makes sense
No SMC in Xenon or Zorgon ? I'm impressed !
This means all is done using zero page adressing, which considering how smooth the game is, is quite impressive.
Do you have a rough ideam of how Xenon is coded ? How is the second screen coded ? The sprites are quite large, with colors, and there is not much of flickering or glitches. Is it drawing directly on the screen, using some buffer, some smart partial screen update/paint/erase ? |
|
| Back to top |
|
 |
jotd 1st Star Corporal
Joined: 03 Feb 2008 Posts: 13 Location: France
|
Posted: Sun Mar 02, 2008 2:30 pm Post subject: |
|
|
| Dbug wrote: | Ok, makes sense
No SMC in Xenon or Zorgon ? I'm impressed !
This means all is done using zero page adressing, which considering how smooth the game is, is quite impressive.
Do you have a rough ideam of how Xenon is coded ? How is the second screen coded ? The sprites are quite large, with colors, and there is not much of flickering or glitches. Is it drawing directly on the screen, using some buffer, some smart partial screen update/paint/erase ? |
There's a unique "blit to screen" routine which copies data from RAM to video memory, using page 0 as parameters. For better speed, I recoded it in C for my remakes (Zorgon & Xenon share the same routine).
There is no double buffering as the sprites are directly copied.
As for the erase, I guess this is the color attribute that does it to the right, and to the left, it may have a little 0x40 array. I don't know. There's little ORA or EORing.
Here's the rewritten source code with comments:
/* copy to screen
*
* params:
*
* 0.b : frame number (if animated sprite)
* 1.w : destination
* 3.w : source
* 5 : number of rows
* 6.b : number of bytes
*/
void P_screen_copy_5172()
{
int dest_address = deek(1);
int source_address = deek(3);
int frame_index = peek(0);
int nb_bytes = peek(6);
int nb_rows = peek(5);
int i;
source_address += frame_index * nb_bytes;
int nb_lines = nb_bytes / nb_rows;
if ((nb_rows > 0) && (dest_address >= 0xA000) && (dest_address < 0xC000))
// && (source_address + nb_bytes < 0xC000) && (dest_address + nb_lines*40 < 0xC000))
{
for (i = 0; i < nb_lines; i++)
{
cpu_memcopy(source_address,dest_address,nb_rows);
dest_address += 40;
source_address += nb_rows;
}
doke(1,dest_address);
}
} _________________ -
JOTD |
|
| Back to top |
|
 |
jotd 1st Star Corporal
Joined: 03 Feb 2008 Posts: 13 Location: France
|
|
| Back to top |
|
 |
Symoon Archivist

Joined: 14 Jan 2006 Posts: 327 Location: Paris, France
|
Posted: Fri Aug 01, 2008 10:11 pm Post subject: |
|
|
I tried the new Zebbie version, but only the "oric-like" version works.
Versions with better graphics seem to open a windowthat closes immediately  |
|
| Back to top |
|
 |
jotd 1st Star Corporal
Joined: 03 Feb 2008 Posts: 13 Location: France
|
Posted: Sat Aug 02, 2008 8:27 pm Post subject: |
|
|
| Symoon wrote: | I tried the new Zebbie version, but only the "oric-like" version works.
Versions with better graphics seem to open a windowthat closes immediately  |
you're right! this is an archive problem. Now fixed on the page
thanks _________________ -
JOTD |
|
| Back to top |
|
 |
Symoon Archivist

Joined: 14 Jan 2006 Posts: 327 Location: Paris, France
|
Posted: Sun Aug 03, 2008 11:01 am Post subject: |
|
|
Mmmh, sorry Jeff but the problem is still there with the 0.91 archive... Exactly the same !
(I'm on XP with Directx9, just in case). |
|
| Back to top |
|
 |
jotd 1st Star Corporal
Joined: 03 Feb 2008 Posts: 13 Location: France
|
Posted: Sun Aug 03, 2008 6:07 pm Post subject: |
|
|
| Symoon wrote: | Mmmh, sorry Jeff but the problem is still there with the 0.91 archive... Exactly the same !
(I'm on XP with Directx9, just in case). |
works fine here (just downloaded the .zip from my page and tried it). Ensure that you have the "gfx" and "sfx" directories in your archive. _________________ -
JOTD |
|
| Back to top |
|
 |
Symoon Archivist

Joined: 14 Jan 2006 Posts: 327 Location: Paris, France
|
Posted: Sun Aug 03, 2008 6:38 pm Post subject: |
|
|
Oh, my bad, everything was unzipped in the same directory.
It works fine now
Strange thing: I have the bonus screen very early in the game, not having picked up a single bottle!
Seems like it appears after having collected a few "oil" things? |
|
| Back to top |
|
 |
waskol Flight Lieutenant

Joined: 13 Jun 2007 Posts: 299 Location: FRANCE, DIRINON (29)
|
Posted: Thu Aug 07, 2008 10:09 am Post subject: |
|
|
A while ago, for a programming contest, I wrote a clone of "Cobra" (the snake game from Norsoft).
My clone was not in the contest since I was one of the judges
You can play with 2 kind of graphics : "8-bits style" (Same graphics than the original, or "Toon style" (Let's say it could be like this if it has been developped for an Amiga or Atari ST)
You can download it here
You can also find the sources (in Delphi), on this webpage :
Or you have also the direct link to the zip file here.
Have fun
Platform : PC with Windows OS
Number of players : 1 or 2
Kind of game : Mix between the classic snake game and Pacman
Features : Wall of Fame, 2 different graphic environments for the same game, the 5 original levels, on screen instructions.
Game in French (but it should not be a problem for english speaking people)
Development tool : Delphi 7 |
|
| Back to top |
|
 |
TheSpider Pilot Officer

Joined: 07 Jan 2006 Posts: 66 Location: Lexington, Kentucky, USA (Ex-Elgin, Scotland)
|
Posted: Sat Aug 09, 2008 5:16 am Post subject: |
|
|
Waskol, your clone of Cobra is excellent.
Thank you so much. _________________ Peter (TheSpider) Paterson
A Scotsman in Kentucky
Believer in the Lord Jesus Christ
http://oricspider.home.insightbb.com |
|
| Back to top |
|
 |
|