PDA

View Full Version : Markey the Jester



Sik
07-02-2011, 09:28 AM
Lately I'm noticing a flood of crappy Basiegaxorz games, so I thought I may counterattack =| MarkeyJester is making his own platformer and uploaded a video of one of the levels:

otKzHudBD2E

http://www.youtube.com/watch?v=otKzHudBD2E

N.Saibot
07-02-2011, 10:01 AM
Is that for the Mega Drive? Looks very cool.

villahed94
07-02-2011, 02:57 PM
That surely is being done in ASM

Bramsworth
07-02-2011, 08:33 PM
Besides SuperTux(which isn't BasiEgaXorz I think), I don't see any other MD projects on this forum, let alone BEX ones. :o

I look forward to seeing this project get somewhere, hope it doesn't die like pretty much everything that gets announced =p

Sik
07-02-2011, 08:35 PM
Besides SuperTux(which isn't BasiEgaXorz I think), I don't see any other MD projects on this forum, let alone BEX ones. :o
Not necessarily Sega-16... (http://devster.proboards.com/index.cgi?board=basiegaxorz&action=display&thread=721) (add CrazyBus and Dr. Robotnik to this and that's three BEX games in a short span of time)

sega16
07-02-2011, 10:06 PM
Not necessarily Sega-16... (http://devster.proboards.com/index.cgi?board=basiegaxorz&action=display&thread=721) (add CrazyBus and Dr. Robotnik to this and that's three BEX games in a short span of time)
Speaking of robobnik here is a short story...
After realising that basic is too limited for a complex evil-minded villain robotnik had no choice but to comply re-write his entire evil plan in c instead of basic.Doctor robotnik has all ready used fixed point math to make his ship have real physics and in fact to prove robotnik's evil-ness he decided to post some of his evil plan...


joypad_value=JOY_readJoypad(JOY_1);
if (joypad_value & BUTTON_LEFT && robot_ship_pos > FIX16(0.0))
{
if (h_flip == 0) accel = FIX16(0.1);
if (accel < FIX16(5.0))
{
accel_invert = FIX16(5.0)-accel;//5.0 is the max so this will invert it
accel += accel_invert/20;
}
robot_ship_pos -= accel;
h_flip=1;
}
else
{

if (joypad_value & BUTTON_RIGHT && robot_ship_pos < FIX16(256.0))
{
if (h_flip == 1) accel = FIX16(0.1);
if (accel < FIX16(5.0))
{
accel_invert = FIX16(5.0)-accel;
accel += accel_invert/20;
}
robot_ship_pos += accel;
h_flip=0;
}
else
{
if (accel != FIX16(0.1))
{
accel = FIX16(0.1);
}

}

}

also he has a picture of it
http://img803.imageshack.us/img803/993/robotniknew.png
Also doctor robotnik will have a pre-rendered 3d special stage so that he can steal all the chaos emeralds.Also why you hating on basic?

Sik
07-02-2011, 10:18 PM
Also why you hating on basic?
More like hating basiegaxorz, it really doesn't let you do much with the hardware unless you hack severely around it, sometimes to the point that learning to use the hardware directly may have been easier =/

djshok
07-02-2011, 11:06 PM
Whoa dude that looks cool. I hope this gets completed.

sega16
07-03-2011, 09:53 AM
Yeah basic was more for games that would end of being basic (bad pun).That is why I decided to move onto c.Now if I could just figure out how to make asm functions that work like c functions then I would be in business.I did have a work around for that problem.for example you can not load tiles from memory locations so I had an asm load tiles command and did something like this:


asm
lea (diploma).l,a0
lea ($FFF6000).l,a1
jsr aplib_decrunch
move.w #$D8,d0 ;216
move.w #$3E7,d3;999
lea ($FFF6000).l,a0
jsr LoadTilesAsm
end asm

Anyways great game!

Sik
07-03-2011, 10:15 AM
C is low-level enough that you'd probably need assembly only in very specific situations (or if you're in some serious performance need). Learn pointers and you'll be done =P (but you seem to be using a devkit anyways which should provide those functions for starters...).

EDIT: wait, lemme guess, aplib_decrunch is asm-only, right? =/ You could try using SLZ (http://www.sega-16.com/forum/showthread.php?17629-SLZ-tool) instead, there's C code for decompression.

sega16
07-03-2011, 10:37 AM
I already know pointers for example (const u32 *)graphics would return the the pointer.it is pretty much like doing lea graphics,A0
Also it is not just the aplip thing I wrote an fmv player in c and there is some glitch in the map drawing part of it and then after the c version did not work I made an asm version which is pretty much the same as the c version and the asm version works perfect.For my asm version I just used the code from sonic1 to draw the map.My goal here is just to make a function that works as a c function but is asm for example


/*move.l #$40000003,d0
moveq #$13,d1 ;Note: it appers you need to subtract ONE from how big the map is
moveq #$0D,d2
jsr ShowVDPGraphics*/
ShowVDPGraphics(0x40000003,0x13,0x0D0);

; ---------------------------------------------------------------------------
; Subroutine to display patterns via the VDP
; ---------------------------------------------------------------------------

; ||||||||||||||| S U B R O U T I N E |||||||||||||||||||||||||||||||||||||||


ShowVDPGraphics: ; XREF: SegaScreen; TitleScreen; SS_BGLoad
lea ($C00000).l,a6
move.l #$800000,d4

loc_142C:
move.l d0,4(a6)
move.w d1,d3

loc_1432:
move.w (A0)+,(a6);changed from a1 to A0
dbf d3,loc_1432
add.l d4,d0
dbf d2,loc_142C
rts
; End of function ShowVDPGraphics

Also slz does look relay good I'm gonna try it.Thanks!

Sik
07-03-2011, 10:41 AM
Make sure the pointer is volatile, if you're writing to hardware directly that may be one of the causes. Or just try to reuse what the devkit provides...

sega16
07-03-2011, 11:02 AM
I don't think it is the pointer because it reads the fmv just fine except for the map and for the c version it is what sgdk came with

Sik
07-03-2011, 11:08 AM
Shouldn't we move this discussion (including previous posts) to the Dr. Robotnik thread, just to avoid pollution of the original topic of the thread? =P

Anyways, trying to do inline asm from C isn't trivial, and calling an asm function from C isn't trivial either. It's probably much easier to just try to find out what's wrong with the C code itself. Are you sure you're using the right size for the data? (int is usually 32-bit)

Kamahl
07-03-2011, 11:15 AM
Music is really good.
You should post it on youtube, or a download, a soundtest rom would be awesome.
How did you make it? xm4smps? The new VGM tracker? Private tracker?

sega16
07-03-2011, 11:17 AM
It was realy the fmv file that was the problem never mind.I think I used an old version of my converter.

Sik
07-03-2011, 11:57 AM
Music is really good.
You should post it on youtube, or a download, a soundtest rom would be awesome.
How did you make it? xm4smps? The new VGM tracker? Private tracker?
Ask MarkeyJester (comment on YouTube?), I explicitly said I didn't make it =P

Kamahl
07-03-2011, 12:20 PM
I was kind of surprised it's not like the one on Jester's Challenge.

Archer
07-04-2011, 11:02 AM
... My goal here is just to make a function that works as a c function but is asm for example
Look at the tutorials Chilly Willy posted a while back. it's not that hard, just confusing :D


Besides SuperTux(which isn't BasiEgaXorz I think), I don't see any other MD projects on this forum, let alone BEX ones. :o

I look forward to seeing this project get somewhere, hope it doesn't die like pretty much everything that gets announced =p Nope, SuperTuxMD is a mix of C and asm. I have looked at BEX when i started program on the megadrive, but for various reasons i find it very limiting. And it's a windows program, although it runs in wine.

I know how hard it is to do simple things, so i can only have respect for this game's programmer. I wish SuperTuxMD was that far already, i don't even have walking animation yet. But i am working an that :D

TmEE
07-04-2011, 12:15 PM
BEX is too far off QB45 which is the only great BASIC dialect (FB is superior but I have not messed with it much). There's lot of stuff missing and many things work in a different (and "wrong" way).

Regarding the MTJ video its one of the games I highly anticipate. I kept telling him that he should make a game with his character and he finally started :D

sega16
07-04-2011, 12:26 PM
I looked at the post about mixing asm with c and after I figure out about the stack or whatever it is It should be easy!