Author Topic: Platform Independant Dingoo SDK  (Read 40516 times)

Offline flatmush

  • *
  • Posts: 283
Platform Independant Dingoo SDK
« on: March 10, 2010, 11:14:26 AM »
I've combined approaches from multiple sources to create a platform independent Native Dingoo SDK.
It contains the source for all the tools used to create it and contains sample applications, libc source code and makefiles to show users how to simply and cleanly make applications for the Dingoo A320.

It also contains clear instructions on how to install and setup Cygwin and scripts/programs to perform most of the installation hassle free.

It contains a program to fix the no CD inserted into drive error with Cygwin to allow the toolchain to work on laptops/computers that don't have a Drive labeled D in windows.

Included samples which can be compiled with a single make command on either windows or Linux include:
  • AstroLander
  • Minesweeper
  • 3D Cube Demo
  • 3D Sphere Demo
  • 3D MD2 Model Demo
  • Overclocker
  • TGA Viewer SIM
  • Zaxxons Hello World

Any thoughts or improvements are appreciated as I want to make this everyone's SDK.

The SDK can be downloaded from here.

The Google Code Project page can be found here, looking for contributors.

Edit: Damn I spelled independent wrong :(
« Last Edit: February 16, 2011, 10:46:46 PM by flatmush »

Offline SiENcE

  • **
  • Posts: 653
    • Crank Gaming (Dingux Apps)
Re: Platform Independant Dingoo SDK
« Reply #1 on: March 10, 2010, 03:42:08 PM »
Great work.

Does this Dingoo Nativ SDK includes all nativ sdk enhancements from all different sdk's out there? I mean, does tvout is working, does SIM building work...aso.?

Offline flatmush

  • *
  • Posts: 283
Re: Platform Independant Dingoo SDK
« Reply #2 on: March 10, 2010, 03:43:28 PM »
No, it contains some enhancements but you'd have to look, I messaged most of the developers of other sdks and invited them to join the googlecode project, you're welcome to join aswell if you want (and have a googlemail account).

Offline Harteex

  • Administrator
  • *
  • Posts: 673
    • Harteex Productions
Re: Platform Independant Dingoo SDK
« Reply #3 on: March 11, 2010, 12:46:42 AM »
It installed ok, but I can't compile AstroLander with it.
I've tried both a standard command prompt and through cygwin (I would really prefer to be able to use a standard command prompt like used to do).

Error when running it through cygwin:
mipsel-linux-ld: cannot find c:/dingoo_sdk/lib/dingoo.o

That's not the right location.
My path in cygwin.bat is specified to /dingoo_sdk which should mean c:\cygwin\dingoo_sdk.....


And btw, the link in your post to the download is broken (dingoo_sdk.zip should be dingoo_sdk_100.zip).

Offline flatmush

  • *
  • Posts: 283
Re: Platform Independant Dingoo SDK
« Reply #4 on: March 11, 2010, 11:38:42 AM »
Good find, I need to change the installer script to modify dingoo.xn, if you want it to work right now then you just need to modify
$DINGOO_SDK/lib/dingoo.xn
Change the path from c:\dingoo_sdk\lib\dingoo.o to your actual path, I'll try to fix the installer script now.

Offline flatmush

  • *
  • Posts: 283
Re: Platform Independant Dingoo SDK
« Reply #5 on: March 11, 2010, 12:08:42 PM »
I fixed the linker script problem and I've released revision 6 which contains some minor changes and the MineSweeper sample.
You can download it from the updated link at the top.
« Last Edit: March 16, 2010, 02:39:11 PM by flatmush »

Offline Harteex

  • Administrator
  • *
  • Posts: 673
    • Harteex Productions
Re: Platform Independant Dingoo SDK
« Reply #6 on: March 11, 2010, 05:37:59 PM »
Alright, seems to work now.

Regarding files in Astrolander/lib and MineSweeper/lib etc. Aren't these global enough to be put somewhere more central? Instead of copy/paste them for every project/sample.

I've done a few changes to them for my projects.. although on the other hand, at least one of the changes changed the behaviour a bit, and I shouldn't add those changes.

What do you think about this?

Offline flatmush

  • *
  • Posts: 283
Re: Platform Independant Dingoo SDK
« Reply #7 on: March 11, 2010, 09:36:06 PM »
You are right, I thought about this and we should make it a lib, but there are two things:
1. I wanted there to be an example of how to compile sources with multiple folders, since that's important for people to know for larger projects.
2. I'm not sure what the lib should be called or contain.

If you wanna take on the responsibility of putting that lib together then that'd help a lot, and I can just give you my latest modifications to it. At the minute I'm wondering whether to depreciate the graphics section of the lib since FGL does the job, but FGL doesn't have fast functions for sprites, rectangles or lines yet and may not be as fast for certain things (faster for triangles though).

Offline Harteex

  • Administrator
  • *
  • Posts: 673
    • Harteex Productions
Re: Platform Independant Dingoo SDK
« Reply #8 on: March 12, 2010, 12:33:51 AM »
I'm not sure if I have time to take responsibility for that now. But let's start by discussing things anyway.

I think all of control, display, fixmath, graphics, and timer should be in it. I also would like to add audio. I might also want to add the mixer I wrote.

About graphics. I would personally like to see a version of the font functions and the tex_draw which takes magenta as a transparent color. That's quite common. But I assume the reason you made the font drawing functions that way was because of speed.
And also, I think one reason to keep this graphics.c is that the source to it is open.

Maybe the files could be put directly in lib, or in any folder there.

Edit:
btw, I commited fsys_find* and a sample to use them.
« Last Edit: March 12, 2010, 12:38:21 AM by Harteex »

Offline flatmush

  • *
  • Posts: 283
Re: Platform Independant Dingoo SDK
« Reply #9 on: March 12, 2010, 08:34:50 AM »
You're right about the graphics thing, thing is I'm tempted to just open source FGL but I don't want it being stolen and used without credit due to the effort I put in.

I already made colorkey transparent sprites (not just magenta trasparent, whatever color you choose) with RLE, which I can add, and I think I could improve some of the functions. I was thinking of making dynarec fonts to make them much faster which would add that functionality but I'd need to find time for it.

Thanks for commiting the fsys_ commits btw they look very useful.

Offline Harteex

  • Administrator
  • *
  • Posts: 673
    • Harteex Productions
Re: Platform Independant Dingoo SDK
« Reply #10 on: March 14, 2010, 09:41:20 PM »
What do you think of adding these things to the lib directory? Or any subfolder in it?

Offline flatmush

  • *
  • Posts: 283
Re: Platform Independant Dingoo SDK
« Reply #11 on: March 14, 2010, 11:35:40 PM »
What do you think of adding these things to the lib directory? Or any subfolder in it?

Done, I called the library SML (Simple Media Library) for the minute till anyone can think of a better name. I modified a few things and made all the samples work (and made the installer script make it). I also added rle encoded colorkey transparent sprites to the library and made an accompanying sample to show them working.

I welcome any upgrades you may have made to the library.

Also I made macros for control_just_pressed, control_just_released, control_still_pressed and control_still_released.
control_just_pressed is a direct replacement for the function you added called control_pressed_once.

Also I updated the link above which now links to version 1.1.1, the version numbering is basically the SVN revision + 1.0.0 till I can think of a better way.
« Last Edit: March 14, 2010, 11:43:10 PM by flatmush »

Offline Harteex

  • Administrator
  • *
  • Posts: 673
    • Harteex Productions
Re: Platform Independant Dingoo SDK
« Reply #12 on: March 16, 2010, 01:36:47 AM »
I've commited updates to the tga loading. I'll commit more of my changes another day.


Why is this line:
if((inTexture->width & 0xF) != 0)
needed in gfx_render_target_set?

I removed it in my local version, since I wanted to create 24x24 images and draw on them.

Offline flatmush

  • *
  • Posts: 283
Re: Platform Independant Dingoo SDK
« Reply #13 on: March 16, 2010, 10:26:33 AM »
Why is this line:
if((inTexture->width & 0xF) != 0)
needed in gfx_render_target_set?

I removed it in my local version, since I wanted to create 24x24 images and draw on them.

The reason is that the display_flip function assumes that the display width is a multiple of 16, so a render target that's 24x24 couldn't be rendered to the screen, it'd just be a bit more work to add code to allow all sizes to be rendered to the screen, alternatively there could be a flag that says a render target can't/won't be flipped with the display buffer.

Offline Harteex

  • Administrator
  • *
  • Posts: 673
    • Harteex Productions
Re: Platform Independant Dingoo SDK
« Reply #14 on: March 16, 2010, 01:45:37 PM »
I see.
I think a flag would enough.

 

Post a new topic