Jump to content

Photo

Pyjamarama


27 replies to this topic

#1 Asmusr OFFLINE  

Asmusr

    River Patroller

  • 2,943 posts
  • Location:Denmark

Posted Fri Nov 30, 2018 12:59 PM

My next game is going to be a port of Pyjamarama from the ZX Spectrum. I'm currently approximately 50% done.

 

Attached File  pyjamarama.png   7.23KB   6 downloads

 

The reason I chose this game is that the action-adventure genre seems to be under-represented on the TI. I looked for source code and found this excellent disassembly of the Spectrum version: http://www.luny.co.uk/. Thanks to Luny whoever you are...  :)

 

The source code itself is excellent for portability because it's much less hard-coded than other things from the period. The data structure for the room graphics can be used directly on the TI, and even the game logic (what you need to do to complete different tasks) is coded into a device independent byte code language that just needs a simple interpreter to be executed.

 

For the graphics, anything the Spectrum can do can also be shown on the TI. We have 8 bytes of color per character where the Spectrum has only one (a color attribute). Spectrum games often rely on color attributes for collision detection, but managing a virtual copy of the attribute table in CPU RAM is easy enough. All sprites are 16x16 which makes it easy to map them to TI sprites, but there are some places with more that 4 sprites on a row that I need to deal with.

 

As it looks now I will be done before Christmas, but you never know, of course.

 

Attached File  screenshot (6).png   6.8KB   3 downloads

 

The Spectrum has 48K so fitting this into 32K might be a struggle. I think a disk version with Super Cart will be one option. Another will be a cartridge with more graphics and sound.


Edited by Asmusr, Sat Dec 1, 2018 3:23 AM.


#2 eebuckeye OFFLINE  

eebuckeye

    Stargunner

  • 1,165 posts

Posted Fri Nov 30, 2018 1:00 PM

Incredible!

#3 adamantyr OFFLINE  

adamantyr

    Stargunner

  • 1,392 posts

Posted Fri Nov 30, 2018 1:57 PM

Very cool! I'd go with a cartridge design myself and 32K both. If you use sprite rotations  you can mitigate the 4-sprite limit somewhat, but you'll need more than the scratchpad for that.



#4 Asmusr OFFLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 2,943 posts
  • Location:Denmark

Posted Fri Nov 30, 2018 1:57 PM

One thing I forgot to mention: with the conversion of Knight Lore I more or less converted each line of Z80 assembly to TMS9900 assembly. For this conversion I follow the same subroutine structure as the original source code but I recode each routine. [edited for clarification]


Edited by Asmusr, Sat Dec 1, 2018 3:24 AM.


#5 adamantyr OFFLINE  

adamantyr

    Stargunner

  • 1,392 posts

Posted Fri Nov 30, 2018 2:21 PM

One thing I forgot to mention: with the conversion of Knight Lore I more or less converted each line of Z80 assembly to TMS9900 assembly. For this conversion I consider the source code and make more or less the same subroutines, but the individual assembly op-codes and directives are very different.

 

That's a nice site, I love how well laid out the disassembly is! That makes conversion a heck of a lot easier.

 

TMS9900 assembly often lends itself to a more compact listing, since we can do memory-to-memory operations, and have MPY and DIV as well. All that is critical since our opcodes do take 2 bytes each, as opposed to the 1 byte on a Z80 or 6502.



#6 Opry99er OFFLINE  

Opry99er

    Quadrunner

  • 10,179 posts
  • Location:Hustisford, WI

Posted Fri Nov 30, 2018 2:51 PM

Wow. Exciting!!!!

#7 vectrexroli ONLINE  

vectrexroli

    Moonsweeper

  • 484 posts

Posted Fri Nov 30, 2018 3:08 PM

Awesome!! :thumbsup:



#8 Vorticon OFFLINE  

Vorticon

    River Patroller

  • 3,454 posts
  • Location:Eagan, MN, USA

Posted Fri Nov 30, 2018 4:56 PM

Best Christmas present ever! :)



#9 Willsy OFFLINE  

Willsy

    River Patroller

  • 3,086 posts
  • Location:Uzbekistan (no, really!)

Posted Fri Nov 30, 2018 5:47 PM

I spent an OBSCENE number of hours playing this back in the day. Can't wait!

#10 Ksarul OFFLINE  

Ksarul

    River Patroller

  • 4,908 posts

Posted Fri Nov 30, 2018 7:02 PM

I like it--and I suspect that @Turtles will have another new favorite game to add to his rotation. . .



#11 globeron OFFLINE  

globeron

    Dragonstomper

  • 759 posts

Posted Sat Dec 1, 2018 2:33 PM

Nice Ramus, looking forward to it, I never played the game, but I know the titlescreen

(also never saw it in colour btw).

 

But try to run the disk attached (it has more moving pictures),

Disk format is CF-card (400Kb).

 

 

use EA option 5 to run DSK1.PPYJAMA

(it does not work in js99er.net  and classic99 Tursi is updating it in the next version)

 

 

Video PPAJAMARAMA using V9T9 emulator:

Attached File  MovingPic-PPYJAMARAMA.mp4   923.63KB   8 downloads

 

DISK:

Attached File  0175-Animation.dsk   400KB   4 downloads



#12 Asmusr OFFLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 2,943 posts
  • Location:Denmark

Posted Sat Dec 1, 2018 2:35 PM



#13 luny OFFLINE  

luny

    Combat Commando

  • 2 posts

Posted Tue Dec 4, 2018 1:34 PM

Hello Asmur (and others),

 

I stumbled across your posting and just had to join and comment here.

I'm so glad my disassembly of Pyjamarama came to some use, this is the reason why I do these, in the hope someone will use it for a port or remake.

 

Secondly well done, that video of your port looks excellent, very accurate. Do you have a site where you host this stuff, I would love to put a link on my site?

 

cheers

Luny



#14 Asmusr OFFLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 2,943 posts
  • Location:Denmark

Posted Tue Dec 4, 2018 11:23 PM

Hello Asmur (and others),

 

I stumbled across your posting and just had to join and comment here.

I'm so glad my disassembly of Pyjamarama came to some use, this is the reason why I do these, in the hope someone will use it for a port or remake.

 

Secondly well done, that video of your port looks excellent, very accurate. Do you have a site where you host this stuff, I would love to put a link on my site?

 

cheers

Luny

 

Thanks again for the disassembly. My project doesn't have a public site yet, except for this topic. When I finish the game I will post it here and upload the code to github, so this is probably the best place to link to. 



#15 Retrospect OFFLINE  

Retrospect

    Stargunner

  • 1,108 posts
  • Location:Wakefield, England

Posted Wed Dec 5, 2018 7:35 AM

Rasmus, I've always wandered about Pyjamarama on the TI99/4a ... I always saw it as a viable conversion.  Glad you're onto it!  And it's looking brilliant.  It looks like a cross between the Spectrum version with the hardware sprites of the C64, which is a brilliant go-between.  



#16 Asmusr OFFLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 2,943 posts
  • Location:Denmark

Posted Wed Dec 5, 2018 10:05 AM

Rasmus, I've always wandered about Pyjamarama on the TI99/4a ... I always saw it as a viable conversion.  Glad you're onto it!  And it's looking brilliant.  It looks like a cross between the Spectrum version with the hardware sprites of the C64, which is a brilliant go-between.  

 

Yes it's extremely very suited for the 9918A. There are almost no problems with the 4 sprites per line limitation. The only screen that has to use software sprites is the arcade/space invaders mini game where there are 8 sprites per line.

 

There are also many more sprite patterns than what fits into the VDP sprites pattern table (even for wally alone), so I had to implement a mechanism for uploading patterns on the fly as needed.

 

One change I will make from the original is to slow down the animations. I think it's a shame to spend time and memory on making lots of sprite frames and then display them so fast that you can't see what's going on. Wally is supposed to scuff along in his nightmare instead of the frantic movement seen in the Spectrum version.



#17 Asmusr OFFLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 2,943 posts
  • Location:Denmark

Posted Wed Dec 5, 2018 10:27 AM

Random views of the current state of the game:

 

 

This also shows the slowed down animations.


Edited by Asmusr, Wed Dec 5, 2018 10:28 AM.


#18 jrhodes OFFLINE  

jrhodes

    Chopper Commander

  • 175 posts
  • RUN "CS1"

Posted Wed Dec 5, 2018 10:58 AM

So this is going to need a F18A?

Looking great!



#19 Asmusr OFFLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 2,943 posts
  • Location:Denmark

Posted Wed Dec 5, 2018 11:21 AM

So this is going to need a F18A?

 

No. What makes you think that?


Edited by Asmusr, Wed Dec 5, 2018 11:23 AM.


#20 adamantyr OFFLINE  

adamantyr

    Stargunner

  • 1,392 posts

Posted Wed Dec 5, 2018 11:49 AM

 

No. What makes you think that?

 

I've been asked the same of my game. It seems a lot of 99'ers aren't aware of what the 9918A can do...



#21 jrhodes OFFLINE  

jrhodes

    Chopper Commander

  • 175 posts
  • RUN "CS1"

Posted Wed Dec 5, 2018 11:59 AM

 

I've been asked the same of my game. It seems a lot of 99'ers aren't aware of what the 9918A can do...

I thought i remember you saying everything you made going forward was going to need SAMS and F18a.

 

No. What makes you think that?

"The only screen that has to use software sprites is the arcade/space invaders mini game where there are 8 sprites per line."

Seeing as how 4+ sprites makes flicker, i read that and thought this would need the F18a.



#22 Asmusr OFFLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 2,943 posts
  • Location:Denmark

Posted Wed Dec 5, 2018 12:13 PM

I thought i remember you saying everything you made going forward was going to need SAMS and F18a.

"The only screen that has to use software sprites is the arcade/space invaders mini game where there are 8 sprites per line."

Seeing as how 4+ sprites makes flicker, i read that and thought this would need the F18a.

 

On the contrary, none of my finished games require SAMS or F18A. Dungeons of Asgard require SAMS and Super Mario Bros require F18A, but those have never been finished.

 

Space invaders games don't really require sprites. You just need to define enough characters to animate the transition between one horizontal position and the next. 



#23 luny OFFLINE  

luny

    Combat Commando

  • 2 posts

Posted Wed Dec 5, 2018 1:42 PM

 

Thanks again for the disassembly. My project doesn't have a public site yet, except for this topic. When I finish the game I will post it here and upload the code to github, so this is probably the best place to link to. 

 

OK, that would be great, I'll keep my eye on your great project. Maybe learn something about the TI along the way. :)

Slowing down the animations works really well, I should have thought of that for my c# version.



#24 Asmusr OFFLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 2,943 posts
  • Location:Denmark

Posted Sun Dec 9, 2018 3:55 PM

The arcade room is done.

 

 

The space invaders are software sprites. Bombs, shots and explosions are hardware sprites.



#25 Ksarul OFFLINE  

Ksarul

    River Patroller

  • 4,908 posts

Posted Sun Dec 9, 2018 4:15 PM

This one just keeps getting better and better!  :)  :)






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users