Jump to content
CyranoJ

Lets make a journey to the cave of monsters. Good luck

Recommended Posts

Funny we were always dieing for a 2600 emulator on the Jag and here we sorta have an ST converter for the Jag - much better result IMHO :)

  • Like 2

Share this post


Link to post
Share on other sites

Funny we were always dieing for a 2600 emulator on the Jag and here we sorta have an ST converter for the Jag - much better result IMHO :)

 

Trouble is, CyranoJ is a one off product. Otherwise I'd buy a copy and start porting EmuTOS.

  • Like 2

Share this post


Link to post
Share on other sites

Trouble is, CyranoJ is a one off product. Otherwise I'd buy a copy and start porting EmuTOS.

 

You can't afford me ;)

 

I wouldn't call what is being done here 'emulation' or 'conversion'... more like 'redirection'

  • Like 3

Share this post


Link to post
Share on other sites

Difference is, paying $60-$100 for a single old shonky 8-bit or 16-bit port (or comparable looking) for a Jag homebrew is not cool.

 

Potential copyright infringement aside, be nice if dozens/hundreds of old ST games could be ported and then slapped on to a HUGE compilation disk with a nice front end for use with the JagCD. Similar to what's been done on the Amiga CD32. Yes, I understand the difference in porting in this example (sell it at a price that makes sense for both consumer and the hackers), but do that and now you've got something of value and worth getting all excited about. Especially by those of us that have had extremely bad luck with original AtariST hardware or would like to play ST games with something other than a 2600 controller and on something larger than a 12" or 13" screen. ;)

 

Hay saves check it out... From http://www.mdgames.de/tosonjag.htm

post-27510-0-42972700-1351136599_thumb.jpg

post-27510-0-96541200-1351136644_thumb.jpg

post-27510-0-54138600-1351136892_thumb.jpg

post-27510-0-00329800-1351136919_thumb.jpg

Edited by skaredmask
  • Like 5

Share this post


Link to post
Share on other sites

ROTFLMAO!

 

I can run a version of TOS natively on my Amiga 1000, but... holy smokes is *that* Jaguar project beyond hilarious! :lol:

Share this post


Link to post
Share on other sites

I somehow get the feeling you used a crack of LSD for the conversion :P

 

Robert

 

44266-bubble-bobble-atari-st-screenshot-title-screens.gif

 

It's all in one file and has a trainer - makes sense ;-)

Share this post


Link to post
Share on other sites

ROTFLMAO!

 

I can run a version of TOS natively on my Amiga 1000, but... holy smokes is *that* Jaguar project beyond hilarious! :lol:

 

Sorry to go off topic, but, I dunno how ludicrous it really is. I mean, weren't there ways to connect your Jag to an ST? Why not just run a modified TOS on the Jag directly?

Share this post


Link to post
Share on other sites

The images aren't displaying for me.

 

fixed, but as I didn't know where to put them anyway... :)

  • Like 1

Share this post


Link to post
Share on other sites

The game was still dropping frames when the action picked up (running the game's main loop + the GPU screen conversion routine was taking more than one Jaguar VBlank to execute) so I delved a bit deeper into the binary, and now I've re-coded the game's sprite copy routine on the GPU - all good again!

 

load_source: dc.l 0
load_destin: dc.l 0
GPU_Opt2: movei #load_destin,r1
movei #load_source,r2
load (r1),r1
load (r2),r2
movei #$92,r0

.rept 8

loadw (r2),r10
addqt #2,r2
loadw (r2),r11
addqt #2,r2
loadw (r2),r12
addqt #2,r2
loadw (r2),r13
addqt #2,r2
loadw (r2),r14
addqt #2,r2
loadw (r2),r15
addqt #2,r2
loadw (r2),r16
addqt #2,r2
loadw (r2),r17
addqt #2,r2
;;;;
loadw (r2),r20
addqt #2,r2
loadw (r2),r21
addqt #2,r2
loadw (r2),r22
addqt #2,r2
loadw (r2),r23
addqt #2,r2
loadw (r2),r24
addqt #2,r2
loadw (r2),r25
addqt #2,r2
loadw (r2),r26
addqt #2,r2
loadw (r2),r27
addqt #2,r2
storew r10,(r1) ; 0p1
addqt #2,r1
storew r11,(r1) ; 0p2
addqt #2,r1
storew r12,(r1) ; 1p1
addqt #2,r1
storew r13,(r1) ; 1p2
addqt #2,r1
storew r14,(r1) ; 2p1
addqt #2,r1
storew r15,(r1) ; 2p2
addqt #2,r1
storew r16,(r1) ; 3p1
addqt #2,r1
storew r17,(r1) ; 3p2
add r0,r1
;;
storew r20,(r1) ; 0p1
addqt #2,r1
storew r21,(r1) ; 0p2
addqt #2,r1
storew r22,(r1) ; 1p1
addqt #2,r1
storew r23,(r1) ; 1p2
addqt #2,r1
storew r24,(r1) ; 2p1
addqt #2,r1
storew r25,(r1) ; 2p2
addqt #2,r1
storew r26,(r1) ; 3p1
addqt #2,r1
storew r27,(r1) ; 3p2
add r0,r1

.endr

moveq #0,r0				 ; Stop GPU
movei #G_CTRL,r1
store r0,(r1)
nop
nop

 

[EDIT: ADDITIONAL]

 

And here is the replacement GPU code for the sprite renderer :-)

 

  .phrase
load_a4: dc.l 0
load_a3: dc.l 0
load_a2: dc.l 0
load_a1: dc.l 0
 
GPU_Opt3: movei #load_a1,r4
  load (r4),r1  ; a1
  subqt #4,r4
  load (r4),r2  ; a2
  subqt #4,r4
  load (r4),r3  ; a3
  subqt #4,r4
  load (r4),r4  ; a4
  movei #$90,r5
  moveq #16,r6
  movei #.spriteloop,r7
.spriteloop:
  .rept 2
; move.l (a1),(a2)+ ; 16fd4 ; 16fe8
; move.l (a4),d1
; and.l  (a1),d1
; or.l   (a3)+,d1
; move.l d1,(a1)+
  loadw (r1),r10 ; MOVE.L (A1),(a2)+
  addqt #2,r1
  loadw (r1),r11
  subqt #2,r1
  loadw (r4),r12 ; move.l (a4),d1  (r12+r13=d1)
  addqt #2,r4
  loadw (r4),r13
  subqt #2,r4
  loadw (r3),r14
  addqt #2,r3
  loadw (r3),r15
  addqt #2,r3
  move r10,r20
  move r11,r21
  and  r10,r12
  and  r11,r13
  or  r14,r12
  or  r15,r13
  storew r12,(r1)
  addqt #2,r1
  storew r13,(r1)
  addqt #2,r1
  storew r20,(r2)
  addqt #2,r2
  storew r21,(r2)
  addqt #2,r2
; move.l (a1),(a2)+ ; $16fde ; $16ff2
; move.l (a4)+,d1
; and.l  (a1),d1
; or.l   (a3)+,d1
; move.l d1,(a1)+
  loadw (r1),r10 ; move.l (a1),
  addqt #2,r1
  loadw (r1),r11
  subqt #2,r1
  loadw (r4),r12 ; move.l (a4),d1  (r12+r13=d1)
  addqt #2,r4
  loadw (r4),r13
  addqt #2,r4
  loadw (r3),r14
  addqt #2,r3
  loadw (r3),r15
  addqt #2,r3
  move r10,r20
  move r11,r21
  and  r10,r12
  and  r11,r13
  or  r14,r12
  or  r15,r13
  storew r12,(r1)
  addqt #2,r1
  storew r13,(r1)
  addqt #2,r1
  storew r20,(r2)
  addqt #2,r2
  storew r21,(r2)
  addqt #2,r2
  .endr
  add  r5,r1
  subq #1,r6
  jump NE,(r7)
  nop
  nop
 
  moveq   #0,r0				   ; Stop GPU
  movei   #G_CTRL,r1
  store   r0,(r1)
  nop
  nop

 

It's faster than the ST original now. Mwhahahahahaha!

  • Like 7

Share this post


Link to post
Share on other sites

This now plays really, really well. Feels like a true arcade game... I don't think you should leave it here... we need even more Jaguar shiny :D

Share this post


Link to post
Share on other sites

I agree. I think we keep the core ST game, but hook a bunch of Jagtastic additions into it, like high colour titles, a proppa 'welcome to the cave of monsters' - maybe even add the arcade sound effects.

 

And, of course, memory track/jagtopus highscore saving (and webcodes!!) ;)

  • Like 6

Share this post


Link to post
Share on other sites

CJ, is it feasible to release the Jag version as a set of patches for the ST version (possibly with the help of a custom program to convert the ST disk image into a ROM)? That way, there would be no copyright concerns.

  • Like 3

Share this post


Link to post
Share on other sites
CJ, is it feasible to release the Jag version as a set of patches for the ST version (possibly with the help of a custom program to convert the ST disk image into a ROM)? That way, there would be no copyright concerns.

 

It should be possible to do something like that, but we'll decide more towards the end of the project - well, we were at the end of this one until two posts above. Looks like we have to tart it up now!

 

Hell, I could even check the weak sector on the disk to make sure nobody uses a dodgy pirate copy :P Yaaaaaaarrrrrr!!!!

 

Can't let Rebooteroids slip behind, either!

  • Like 3

Share this post


Link to post
Share on other sites

Any chance of get Crazy Cars 3, Vroom, Lotus Turbo or Eliminator?

 

Possibly in the future - at the moment these are all hand patched. I'd like to finish up the few I've started and get back to working on our own games. We're not at the requests stage yet :)

  • Like 2

Share this post


Link to post
Share on other sites

Back to Bubble Bobble.

 

Highscores and second player now working - You'll just have to make friends now to have someone to play with ;)

 

post-11520-0-42866900-1351400769_thumb.jpg

  • Like 4

Share this post


Link to post
Share on other sites

Wow this is some very nice headway being made for the Jaguar props to all involved in this and as said in all earlier posts i cant wait to play some of these.

Share this post


Link to post
Share on other sites

What was I thinking?

 

move r10,r20
move r11,r21
and r10,r12
and r11,r13
or r14,r12
or r15,r13
storew r12,(r1)
addqt #2,r1
storew r13,(r1)
addqt #2,r1
storew r20,(r2)
addqt #2,r2
storew r21,(r2)
addqt #2,r2

 

Clearly that should be:

 

storew r10,(r2)
addqt #2,r2
storew r11,(r2)
addqt #2,r2
and r10,r12
and r11,r13
or r14,r12
or r15,r13
storew r12,(r1)
addqt #2,r1
storew r13,(r1)
addqt #2,r1

 

I mean it's so obvious!

  • Like 3

Share this post


Link to post
Share on other sites

It's good that you're not taking conversion requests. Otherwise I'd blab on about:

 

3D Construction Kit

Shoot 'em Up Construction Kit

 

One wouldn't have to know Jaguar hardware. Just maybe how to use a command line utility to attach the game data to a pre made binary..

 

..oh happy dreams ^_^

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...