Jump to content
Jagware

Orion_

Level1
  • Content count

    1,073
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Orion_


  1. I stumbled across a nasty bug this weekend, I almost went crazy ...

    It appears to be a linking problem from RLN, between C object code (from VBCC) and ASM object code from RMAC.

     

    In my C code I had a function pointer declared and initialised like this:

    u16	(*iclTMtiledraw_callback)(u16 tile);
    
    iclTMtiledraw_callback = NULL;
    

    in my ASM code I used this function pointer, but I also had a declaration of it in the BSS:

    	move.l	_iclTMtiledraw_callback,a1
    
    	.bss
    	.globl	_iclTMtiledraw_callback
    _iclTMtiledraw_callback:	ds.l	1
    

    My mistake here was that I forgot the "extern" in the C code.

    So the function pointer was declared 2 times ! and the address used in the C code was different from the address in the ASM code (hence the random crash depending on the init of the bss)

     

    Now, why didn't RLN showed me an error saying that this variable was declared 2 times and that there was a conflict between them ?

    That would have saved me 2 days of headaches :(

     

    Good thing is, I was convinced that the problem was from the Blitter which I use a lot, so I shielded my code about this, now I guess, there won't be any problem related to "wait for the blitter to finish before modifying its registers".


  2. A new game was released for the Jaguar CD!

    This is my new adventure game "Philia: the Sequel to Elansar"

     

    The game was professionally produced with a pressed CD in a DVD case with a color cover and manual !

     

    For those who are interested, see the ordering page here: http://onorisoft.free.fr/retroshop/philia.htm

     

    For those who don't have a Jaguar CD, dont worry, the game is available on other platforms too! :)

    Windows / Mac / Linux / Falcon / Android / iOS: http://onorisoft.free.fr/retroshop/

     

    Video of the game running on Jaguar CD: https://vimeo.com/93892663

     

    philia_scr1_s.jpg

     

    philia_jagcd.jpg


  3. I released a new version of the Cinepak Player module, it now allow you to have 22kHz 16bits Stereo Audio !!

    with the same data rate as the old 8bits mono audio stream, thanks to the IMA ADPCM codec ! (which encode 16bits samples into 4bits, allowing stereo)

    The DSP code include a Stereo IMA decoder, and I also modified the player's input so you don't have to provide an OPlist anymore, just a_vdb/a_vde values (to avoid re-doing the video init), It will make its own OPlist from that.

    There is a special tool provided (made by Zerosquare and me), to encode your AVI audio stream to IMA audio stream.

    Your input AVI needs to have a PCM 22kHz 16bits Stereo Audio stream, then convert it using the provided "avi_ima_encode" tool.

    Then just drag and drop this new avi into Jagmod's tool.

    This module player is only compatible with IMA audio stream ! (else we would need to modifie jagmod's tool to include a special ADSC chunk to tells it's ima instead of raw)

    same link: http://onorisoft.free.fr/jag/jag.htm#Tools

     

    Full source included, as well as the original player source (if you want to hack it yourself :P)

     


  4. I tried all I can using cygwin but I'm still stuck when compiling camlimage, seems like a problem with autoconf

    anyway, I finally made a little tool to adjust the width of the output from tga2cry, it was easier and faster to do..

    hopefully someone can make a windows binary release of your tool one day :D

     


  5. I nice addition to this converter would be the "--header" option of the original tga2cry

    I need to convert a lots of pictures with different size, so storing the width/height inside the final picture binary would be nice :)

    you could store it using long, so width.l height.l makes 8bytes, the data are still phrase aligned :)

    tga2cry have this option but it don't have the "auto pad width to phrase boundary", which is required for all the pictures I have

     


  6. I bring you a set of tools and sources code for Jaguar CD development !

    Including CD encryption tool, CD record tool, CD Make track tool, CD File system, Jaguar CD library (data/FS/audio), Memory Track library, and Cinepak Movie Player module !

    Now you don't have any excuse to not use the Jaguar CD to it's full potential, and not just for BJL game loading ;p

     

    See the tools section of my jaguar page:

    http://onorisoft.free.fr/jag/jag.htm#Tools

     


  7. yes, my OPlist was 32bytes aligned, but because of the 2 branch object at the beginning, the first sprite becomes 16bytes aligned...

    now it's working, but I have a strange behavior, the image "jumps" each 1 or 2 seconds, it seems that the remainder value have something to do with this (maybe it overlap the VDE or something)

    I tried ((1+2)<<5)-1, or (2<<5)-1 but still the same problem :/

    (a "0" remainder gives very strange line drawn on screen :D)

     


  8. Hello, I'm trying to use the "scaling" feature of the OP, but as always with the Jaguar, using the hardware is good for getting headaches

    I'm trying a simple Zoom x2 sprite (160x120 -> 320x240)

    It's not working on real hardware, but it works under Virtual Jaguar (so I must be close)

     

    It seems not to be the HSCALE/VSCALE/REMAINDER values, because whatever value I try, I always get the same result on screen on real hardware.

     

    opvj.png

     

    on real hardware:

    optv.jpg

     

    why ? :(


  9. oh, ok I understand now with this video, thank Zerosquare

    I was wondering, why ps2 platform, and just thought it was a classic ps2 demo with graphic simulation of oscilloscope

    Generating the weird video output from ps2 to make it looks good on an oscilloscope seems not quite the simplest things to do, nice challenge :)

     

     


  10. oh, I made an IMADPCM too for jaguar for Elansar :) (82 seconds to squeeze into less than 900kb), it's just not realtime (but dsp based)

    I will try rmac and rln, because I had some issue with old program I made for jaguar that was using the original mac/aln and smac/sln didn't work for unknown reason.

    Just noticed that the binary of rmac/rln are not available on your website, except when digging into your recent package such as quake or tripper


  11. Well, I used to write code-that-does-everything-in-one-line like " col = (Shl&(Round(r1 + stepr * l / 8) And 255, 8 + 3) And $f800) + (Shl&(Round(b1 + stepb * l / 8) And 255, 3 + 3) And $7c0) + (Round(g1 + stepg * l / 4) And $3f)"

    but I find out that sometimes it led to strange behavior (missing parenthesis or compiler wrong interpretation)

    Now I write a step each line, and then I can track the value after each computation and verify that I did everything right

    just a suggestion %)

     

×