sh3-rg Posted November 23, 2011 Share Posted November 23, 2011 It's the Jaguar's 18th birthday today. To celebrate, Reboot of Jagware are pleased as punch to unveil The RAPTOR Engine. RAPTOR is a high performance RISC-based API designed to leverage the performance of the Jaguar's custom RISC chips in an easy and flexible manner. It also utilises LinkoVitch's new U-235 sound engine. It's not finished yet, there's much more functionality to add in future, but we believe this to be a huge step forward in bringing Jaguar game design within the reach of many more people. To give you an idea of the possibilities, our latest game, Kobayashi Maru, was implemented using an early version of RAPTOR. Head over to the RAPTOR page to learn more. Feedback is most welcome! 10 Quote Link to comment Share on other sites More sharing options...
matmook Posted November 24, 2011 Share Posted November 24, 2011 Excellent !!!!!!!!!! :thumbsup: I want it !!! Could I beta-test ? 1 Quote Link to comment Share on other sites More sharing options...
Atari_Owl Posted November 24, 2011 Share Posted November 24, 2011 This seems like a very good idea 1 Quote Link to comment Share on other sites More sharing options...
sh3-rg Posted November 24, 2011 Author Share Posted November 24, 2011 Excellent !!!!!!!!!! :thumbsup: I want it !!! Could I beta-test ? I thought you already were, lol Have ZeroSquare add you to the relevant jagware forum group, cheers! Quote Link to comment Share on other sites More sharing options...
Zerosquare Posted November 24, 2011 Share Posted November 24, 2011 Done 1 Quote Link to comment Share on other sites More sharing options...
matmook Posted November 24, 2011 Share Posted November 24, 2011 Cooool, thanks ! Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted November 24, 2011 Share Posted November 24, 2011 Having read the tech doc provided at eJagFest its going to make homebrew development on the jag much easier. Put a "C" wrapper around it and you'll lower the entry point for programmers even more. 2 Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted November 25, 2011 Share Posted November 25, 2011 Having read the tech doc provided at eJagFest its going to make homebrew development on the jag much easier. Put a "C" wrapper around it and you'll lower the entry point for programmers even more. Volunteering to write the wrapper? Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted November 25, 2011 Share Posted November 25, 2011 Volunteering to write the wrapper? If RAPTOR is emulator friendly then I don't mind doing that. 1 Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted November 25, 2011 Share Posted November 25, 2011 Well, I am on the VJ testing team RAPTOR applications run fine under VirtualJaguar, with a slight glitch at the top of the screen due to an undocumented feature in the ObjectProcessor (Yes, we found another new and undocumented bug in the Jaguar chipset... hurrah!). Shamus and myself are currently investigating this issue, once it is resolved all should be good. 1 Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted November 25, 2011 Share Posted November 25, 2011 Just joined over at Jagware. I'll give you a prod when I'm ready to go with the "C" wrapper. 6 Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted November 26, 2011 Share Posted November 26, 2011 Welcome aboard! Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted January 1, 2012 Share Posted January 1, 2012 Bumping an old thread just to say that since r407 VirtualJaguar has been 100% RAPTOR friendly 1 Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted January 3, 2012 Share Posted January 3, 2012 Status update: Matmook has merged his latest revision of RMotion into the main trunk, making animation events has never been easier! LinkoVitch's U235SE 0.17 has been integrated Particle Effects engine implemented Highscore management, complete with webcode generation (www API TBA) Transparent memorytrack management Test 'game' completed to demonstrate functionality - documentation [20% complete] BETA phase continues. More news as we make it. 3 Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted November 15, 2014 Share Posted November 15, 2014 (edited) Reviving a dead thread.... RAPTOR is coming. It is now assembling and linking correctly as an object file (RAPTOR.O) which can be included in other applications. This is pretty big as it is now possible to interface RAPTOR with C or other languages (I will not be doing this myself, but post release, someone else could take this on). I'll try and get a release ready as a Reboot xmas present for everyone... but don't shoot me if it's late. RAPTOR provides the following functions, in a stable environment that needs no user maintenance (ie, faffing with the hardware): HOOKS: RAPTOR_user_vbi - Called every VBI by RAPTOR_Core - User responsibility to save/restore registers RAPTOR_PRE_Object_List - Routine called prior RAPTOR objects being created (allows static objects to be inserted into list above RAPTOR objects) RAPTOR_POST_Object_List - Routine called after to RAPTOR objects being created (allows static objects to be inserted into list under RAPTOR objects) FUNCTIONS: RAPTOR_Version - Returns RAPTOR version info RAPTOR_HWinit - Configures the Jaguar system RAPTOR_Install - Installs RAPTOR handlers and tables RAPTOR_ERROR - Flashing colours error routine (Can be called by user/RAPTOR) RAPTOR_U235init - Configures the U235-Sound Engine RAPTOR_U235stopDSP - Halts the DSP RAPTOR_U235playsample - Calls U235 to play a sample RAPTOR_U235resetmodule - Calls U235 to reset the current module playing RAPTOR_U235setmodule - Calls U235 to set the current module RAPTOR_U235gomodule_mono - Calls U235 to play the current module (mono) RAPTOR_U235gomodule_stereo - Calls U235 to play the current module (stereo) RAPTOR_U235stopmodule - Calls U235 to stop the current module playing RAPTOR_move_palette - Copy palette data to CLUT RAPTOR_GFXConvert - Convert BMP/TGA to JagBMP format RAPTOR_init_map_objs - Initialise the RAPTOR map objects (if used) RAPTOR_map_set_position - Sets the current map co-ordinates RAPTOR_setup_object_xyg - Object update: X/Y/Graphics (NON RAPTOR Object) RAPTOR_setup_object_xg - Object update: X/Graphics (NON RAPTOR Object) RAPTOR_setup_object_g - Object update: Graphics (NON RAPTOR Object) RAPTOR_setup_object_xy - Object update: X/Y (NON RAPTOR Object) RAPTOR_setup_object_xyz - Object update: X/y/scale (NON RAPTOR Object) RAPTOR_rmw - Convert current object to RMW (NON RAPTOR) (list entry only, not bitmap!) RAPTOR_setpalt - Convert current object to CLUT x (NON RAPTOR) RAPTOR_reflect - Flip Reflect bit on current object (NON RAPTOR) RAPTOR_CreateObject - Create a new object (NON RAPTOR) RAPTOR_particle_init - Initialise the RAPTOR particle engine RAPTOR_particle_clear - Clear the particle display buffer RAPTOR_print - Command driven text output (multiple fonts/sizes/control codes) RAPTOR_HEXtoDEC - Convert HEX value to ASCII decimal RAPTOR_chk_highscores - Check the scoreboard top 10 RAPTOR_resort_score_table - Sort the scoreboard top 10 (required if new entry) RAPTOR_mt_init - Initialise the MemoryTrack RAPTOR_mt_load - Load from MemoryTrack RAPTOR_mt_save - Save to MemoryTrack RAPTOR_d_lz77 - Unpack LZ77 compressed file RAPTOR_call_GPU_code - Call GPU code (Wait for exit) RAPTOR_call_GPU_code_STOP - Call GPU code (Halt 68000) RAPTOR_call_GPU_code_nowait - Call GPU code (Immediate return) RAPTOR_HANDLER - RAPTOR Core RAPTOR_GPU_COLLISION - RAPTOR Object Collision Handler RAPTOR_map_update_GPU - RAPTOR Tile Map Handler RAPTOR_particle_injection_GPU - RAPTOR Particle Injection RAPTOR_particles_GPU - RAPTOR Particle Handler RAPTOR_start_video - Starts video generation RAPTOR_wait_frame - VSYNC RAPTOR_setlist - Set current RAPTOR display list (on next VBLANK) Each RAPTOR object can have the following attributes, defined in a user readable file, as below (Max 512 Objects) dc.l 1 ; (REPEAT COUNTER) ; Create this many objects of this type (or 1 for a single object) dc.l is_active ; sprite_active ; sprite active flag dc.w 0,0 ; sprite_x ; 16.16 x value to position at dc.w 0,0 ; sprite_y ; 16.16 y value to position at dc.w 0,0 ; sprite_xadd ; 16.16 x addition for sprite movement dc.w 0,0 ; sprite_yadd ; 16.16 y addition for sprite movement dc.l 32 ; sprite_width ; width of sprite (in pixels) dc.l 32 ; sprite_height ; height of sprite (in pixels) dc.l is_normal ; sprite_flip ; flag for mirroring data left<>right dc.l 0 ; sprite_coffx ; x offset from center for collision box center dc.l 0 ; sprite_coffy ; y offset from center for collision box center dc.l 16 ; sprite_hbox ; width of collision box dc.l 16 ; sprite_vbox ; height of collision box dc.l somebmp ; sprite_gfxbase ; start of bitmap data dc.l 4 ; (BIT DEPTH) ; bitmap depth (1/2/4/8/16/24) dc.l is_RGB ; (CRY/RGB) ; bitmap GFX type dc.l is_opaque ; (TRANSPARENCY) ; bitmap TRANS flag dc.l 32*32/2 ; sprite_framesz ; size per frame in bytes of sprite data dc.l 32/2 ; sprite_bytewid ; width in bytes of one line of sprite data dc.l 0 ; sprite_animspd ; frame delay between animation changes dc.l 0 ; sprite_maxframe ; number of frames in animation chain dc.l ani_rept ; sprite_animloop ; repeat or play once dc.l edge_wrap ; sprite_wrap ; wrap on screen exit, or remove dc.l spr_inf ; sprite_timer ; frames sprite is active for (or spr_inf) dc.l spr_linear ; sprite_track ; use 16.16 xadd/yadd or point to 16.16 x/y table dc.l 0 ; sprite_tracktop ; pointer to loop point in track table (if used) dc.l spr_unscale ; sprite_scaled ; flag for scaleable object dc.l %00100000 ; sprite_scale_x ; x scale factor (if scaled) dc.l %00100000 ; sprite_scale_y ; y scale factor (if scaled) dc.l -1 ; sprite_was_hit ; initially flagged as not hit dc.l CLUT_map ; sprite_CLUT ; no_CLUT (8/16/24 bit) or CLUT (1/2/4 bit) dc.l cant_hit ; sprite_colchk ; if sprite can collide with another dc.l cd_keep ; sprite_remhit ; flag to remove (or keep) on collision dc.l single ; sprite_bboxlink ; single for normal bounding box, else pointer to table dc.l 1 ; sprite_hitpoint ; Hitpoints before death dc.l 2 ; sprite_damage ; Hitpoints deducted from target dc.l 32/2 ; sprite_gwidth ; GFX width (of data) All objects are dynamically processed each frame, inactive objects are removed from the current display list. Branch objects can also be defined and dynamically updated. Lots of examples of RAPTOR driven binaries are on the REBOOT website. Edited November 15, 2014 by CyranoJ 9 Quote Link to comment Share on other sites More sharing options...
Orion_ Posted November 15, 2014 Share Posted November 15, 2014 raptor.o not found, link aborted damn ! Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted November 16, 2014 Share Posted November 16, 2014 raptor.o not found, link aborted damn ! Don't think you need it! You seem to be doing fine on your own hehe That being said, looking at the above it looks like it's 'just' a sprite manager. But remember, to the Jaguar, a sprite (object) can be anything from a 4x4 bullet to something bigger than the entire screen. RAPTOR doesn't care what dimensions / attributes you give the objects.... 2 Quote Link to comment Share on other sites More sharing options...
TXG/MNX Posted November 16, 2014 Share Posted November 16, 2014 AWESOME! Cannot wait good job... I hope a C-wrapper lib will be there soon... Quote Link to comment Share on other sites More sharing options...
GT Turbo Posted November 19, 2014 Share Posted November 19, 2014 If after Raptor release people tell 'it's difficult to dev on Jaguar'. We need to stop Jaguar coding and putting bugs on another machine O_o GT Quote Link to comment Share on other sites More sharing options...
TXG/MNX Posted November 19, 2014 Share Posted November 19, 2014 I can only say anything that is released is great for the Jag this raptor is a big project I am happy to see its getting finished. Helping the community this way is a good thing. What is the status of Rmotion or is that included ? 1 Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted November 19, 2014 Share Posted November 19, 2014 I can only say anything that is released is great for the Jag this raptor is a big project I am happy to see its getting finished. Helping the community this way is a good thing. What is the status of Rmotion or is that included ? Thanks, RMOTION is *not* bundled in the build I am preparing for release, but I hope it will be bundled in a post-release update. Matmook has simply not had time to work on this. I don't think it'll be too hard to implement as RMOTION lives entirely inside the GPU core, and doesn't have any external function calls to use it - it's activated by data in the Object Scripting. Unlike the source code builds I've been using for our games, a few things have had to be changed subtly for the .O version in order for it to work. Quote Link to comment Share on other sites More sharing options...
TXG/MNX Posted November 19, 2014 Share Posted November 19, 2014 Seems a powerfull thing using pure gpu power :-) Will lookout for that pre-release .... Thanx for the info 2 Quote Link to comment Share on other sites More sharing options...
82-T/A Posted November 20, 2014 Share Posted November 20, 2014 Hah, so we're not talking about the newest Coyote engine in the new aluminum framed Ford Raptor? 1 Quote Link to comment Share on other sites More sharing options...
+BitJag Posted November 21, 2014 Share Posted November 21, 2014 Great news, and hopefully the best Christmas ever! It is awesome to see this kind of effort to make the Jaguar more accessible than ever. Thanks! Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted November 21, 2014 Share Posted November 21, 2014 (edited) Short update... The example code for the documentation is coming along nicely Starting with a couple of lines of code to display 'Hello World' we add bits slowly, one section at a time, until: RAPTORVADERS! However, the actual documentation currently looks like this: raptor.doc 0 bytes Still, i've given myself a month (ish) to write that... Edited November 21, 2014 by CyranoJ 7 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.