Monday, January 28, 2013

Stellarplayer MOD & S3M module player

StellarPlayer V0.1
Finally SD support and multi-format support.

Added to the player:
1. Visualizer that uses the stellaris launchpad RGB (uses red and blue - left and right cahnnels)
2. S3M and MOD formats supported (detected by extension)
3. SD card support (using SPI mode on SSI0)

Limitations:
1. Because of the memory constraints the player only support up-to 14 channels mods
2. Some mod/s3m will not be able to played smoothly because our far buffers are quite small.
3. There are only 1100 bytes of free RAM left.
4. Put all the mods in a folder called "mods" in the root of the sd card
    I'm not sure fat32 is supported....

I've added a small LC filter to the output to limit the high frequency signals.
Here is a site that is help-full link , you don't have to use it but it gives a better sound.
(My cutoff frequency is 10Khz)

Schematics:
Audio: 
  • Left PB1
  • Right PB0
SD card:
  • SCK (clock) - PA2
  • CS (Chip select) - PA3
  • MOSI (Master out slave in - DI) - PA5
  • MISO (Master in slave out - DO) - PA4
Usage:
Right button next song, Left button previous song.

Sources and binary.


Wednesday, November 28, 2012

Stellaris Launchpad MOD Player

It is time for a new post!

Added SD Card, S3M and visualizer support see here link.

Recently I got myself a Stellaris Launchpad board by TI and thought what I could do with it.
I decided to create a simple MOD player with the bear minimum of extra parts and so here is the
result:

The details:
The code I've ported from a Microchip pic32 MIPS based MCU that was done here by SERVEURPERSO:
http://www.youtube.com/watch?v=i3Yl0TISQBE

Had to redo all the PWM/Timers/Buttons/File system and other stuff.
Learned a lot from the PWM tutorial for Stellaris here:
http://codeandlife.com/2012/10/30/stellaris-launchpad-pwm-tutorial/

The video recording was done using PC LINE IN and in stereo and because of that there is a faint whine in the background but the sound that comes directly from the board is much better.

The board supports only 4 channel MODs technically you can put a MOD with more channels but there is no memory allocated for them, so the results are unpredictable.
There is enough space on the device for 213Kb of MODs.
Right now the code is set to take up-to 6 MODS, you can change it if you want (as long as you keep below the 213Kb limit)

Because I did not have an SD card breakout board I had to load the files from somewhere
so I've created VFS (Virtual File System) which helped a lot during development, the files reside inside the
flash of the MCU.
It should be fairly easy to switch to FatFs since I've used the same prototype functions.

SD support will probably come in the future (when I get a SD breakout board)

Technical difficulties:
While porting this I've encountered several difficulties:
1. The amount of RAM on the pic32 device was 3 times what we had (96K vs our 32K)
     had to shrink the buffers a lot, will see how it affects while reading from SD card.
2. PWM code completely different, had to understand both architectures and settings to rewrite
    it correctly.
3. Timing for the sampler interrupt is CRITICAL even a small difference in invocation
    would cause popping and beeping in sound.
4. Interrupt priorities, after adding the buttons handling (which are polled using the systick interrupt) I've       noticed that the sound would be distorted, which I've concluded was due to the sampler interrupt not getting enough time to run or was itself was being interrupted, a code to set priorities to interrupts was added.

Hardware:
1 x Stellaris Launchpad
1 x Audio Jack

Schematics:
Take the audio jack connect the GND pin to the GND pin on the board J3.2
LEFT channel is J1.7 (PB4)
RIGHT channel is J2.7 (PB6)

Usage:
Right button next song
Left button previous song.

If connected to computer the serial terminal writes some info about the song that is playing.

File:
Attached is the whole project, source, binary and convert tool for mods.
Download project.

To use the convert tool: after extracting the project to Stellarisware directory.
NOTICE: My Stellarisware directory is called Stellarisware2 so some adjustments might be necessary in order to compile the sources, the project should be placed next to the other projects:
C:\StellarisWare2\boards\ek-lm4f120xl\modplayer

go into the tools directory copy all your wanted MODS to that dir and run "runconvert.bat"

To get more mods go to: http://modarchive.org/

Hope that helps anybody.
R.K.

Monday, June 11, 2012

Constellaris - A puzzle Game

Hello All,
I'ts been a while since I've posted last, but I've been busy writing my own game instead of
porting existing ones.

So here it is,
It's called Constellaris and it's for Android platform and now I'm going to shamelessly promote it...

This is a simple puzzle game where you need to draw constellations (basically connect the dots)
You need to bridge two stars on screen without tracing back so that in the end 
you will have the same shape that is traced in the background.
Each level increases the level of difficulty.

You have a hints systems that helps you along the way if you get stuck and some options for convenience (Undo, clear and etc).


Menu Screen:
Inline image 1

Level Selection:
Inline image 2

In game screen shoot:
Inline image 3

Video of the game play:

There are two versions free and paid, the difference is that the paid version has 27 more levels and no Ads.



Hope you like it.

You can also visit my site: http://www.octa44.com

Thanks!

Sunday, September 11, 2011

OpenXCom for Maemo (n900)

Hello,
OpenXCom is now available for N900





Port of OpenXCom (http://openxcom.org/) by Ronen K.

This is a port of the WIP OpenXCom engine remake

This port requires the original DOS files of X-Com.

You must create a directory called "openxcom" under your MyDocs folder
to there you must copy the original Dos files and extract this zip file
Than just use the icon to launch the game

To install type in X Term (While in root):
dpkg -i openxcom_0.3-1_armel.deb

to uninstall:

dpkg -r openxcom

Thanks to: OpenXCom.org and the team there!

Download Binary
Download Source

R.K.


Sunday, August 28, 2011

REminiscence (Flashback) for N900 (Maemo 5)

Hello,
Port of REminiscence is ready first version.



Download binary here
Download source here

To install type in X Term (While in root):
dpkg -i reminiscence_0.1-1_armel.deb

to uninstall:

dpkg -r reminiscence

This package requires the original Flashback files see readme below.



REminiscence for Maemo 5
-----------------------

You need to have
/home/user/MyDocs/FLASHDATA
and
/home/user/MyDocs/FLASHDATA/SAVES
folders the FLASHDATA folder should have the data files from flashback either
PC or Amiga versions are supported the mod files from the amiga version
can be used with the PC version, but a special naming scheme has to be used

You can use this in a batch file (Windows) to rename the amiga names
to the one supported by reminiscence then copy to FLASHDATA dir.

ren ascenseu.mod mod.flashback-ascenseur
ren ceinture.mod mod.flashback-ceinturea
ren chute.mod mod.flashback-chute
ren desinteg.mod mod.flashback-desintegr
ren donneobj.mod mod.flashback-donneobjt
ren fin.mod mod.flashback-fin
ren fin2.mod mod.flashback-fin2
ren gameover.mod mod.flashback-game_over
ren holocube.mod mod.flashback-holocube
ren introb.mod mod.flashback-introb
ren jungle.mod mod.flashback-jungle
ren logo.mod mod.flashback-logo
ren memoire.mod mod.flashback-memoire
ren missionc.mod mod.flashback-missionca
ren options1.mod mod.flashback-options1
ren options2.mod mod.flashback-options2
ren reunion.mod mod.flashback-reunion
ren taxi.mod mod.flashback-taxi
ren telepor2.mod mod.flashback-teleport2
ren telepora.mod mod.flashback-teleporta
ren voyage.mod mod.flashback-voyage


Keys:

Quit - Q button
Inventory\Skip Movie - Backspace
Operate / run / take - Hold Shift
Gun in/out - Space
Use Object - Enter

Thanks to: Gregory Montoir (http://cyxdown.free.fr/reminiscence)
for creating this great source.



Monday, August 22, 2011

Got new phone ... It's the N900..

Hello readers,

Good news I've got a new phone and it's the N900 probably the last great phone
from used to be all mighty Nokia.



Right now I'm in the process of acquainting myself with it's development environment
and probably soon will start porting stuff, hopefully some of you will find it useful.

R.K.

Sunday, June 12, 2011

I'm not dead, But Symbian is...

Hello everybody,

It's been a long time since my last update, there are few reasons for that.

I was working on my port and was almost at the end but encountered a very hard bug with
the sound system which was playing the sounds after a delay which made the game useless
and till this day I had not found a way how to fix this bug there
seems to be some problem with SDL_Mixer.

Nokia also has announced that they will stop supporting Symbian and switch to Windows platform.
There was also another company that did just that to survive but now is almost gone into obscurity, Palm.

These two factors together have demoralized me somewhat so right now porting has been halted.
I still have my n95, but the platform shows it's age which leaves me unwilling to support it for now.

R.K.