Showing posts with label videogames. Show all posts
Showing posts with label videogames. Show all posts

Friday, November 18, 2016

Adding a 500GB 2.5 Inch HDD to a Super Slim PS3





Sunday, November 06, 2016

Battery Replacement for PS4 Controller


Replacing the battery on a PS4 controller is easy. This also makes for better battery life by increasing the capacity from 1000 mAh to 2000 mAh. Very quick and easy, and involves removing the four screws in the bottom of the controller and prying the shell open.

Tuesday, August 16, 2016

Nintendo Wii Classic Controller as Wired USB Gamepad




Wii Classic Controller as a USB-based HID compatible gamepad via Teensy 2.0.

Hardware setup is four connections:
• Orange wire (Wii controller connection top left) to Teensy SDA pin (Teensy 2.0 pin 6)
• Green wire (Wii controller connection bottom right) to Teensy SCL pin (Teensy 2.0 pin 5)
• Blue wire (Wii controller connection bottom left) to Teensy ground
• Red wire (Wii controller connection top right) to Teensy VCC

Download code here: http://milkcrate.com.au/_other/downloads/arduino/WiiClassicUSB.ino

Thursday, May 26, 2016

XBox 360 Wireless Controller - Max for Live Device




Download here: http://milkcrate.com.au/_other/downloads/M4L/little-scale.Wireless.360.Controller.amxd

Friday, May 20, 2016

Grandmother by Kitty Horrorshow

My music is in the game Grandmother by Kitty Horrorshow! You can grab it as part of the Haunted Cities collection of games: https://kittyhorrorshow.itch.io/haunted-cities



The original track can be found as part of Biometrics (2010).

Wednesday, February 17, 2016

Street Fighter V - All Critical Arts [16 February 2016]

Friday, November 06, 2015

Guilty Gear Xrd - All Instant Kills (PS4 PAL Australian Version)

Sunday, August 23, 2015

Vectrex Controller to USB HID Joystick



Made with a Teensy 2.0 in the Arduino IDE using the Teensyduino add-on. Download the code here.

The hardware set up is simple - the Vectrex controller end has nine pins. These should be connected to the Teensy as follows:

Vectrex pin 1 to Teensy digital pin 0
Vectrex pin 2 to Teensy digital pin 1
Vectrex pin 3 to Teensy digital pin 2 
Vectrex pin 4 to Teensy digital pin 3
Vectrex pin 5 to Teensy analog pin 0 
Vectrex pin 6 to Teensy analog pin 1
Vectrex pin 7 to Teensy 5V
Vectrex pin 8 to Teensy ground
Vectrex pin 9 to Teensy ground

The Teensy pinout can be found here. The Teensy should be set to joystick mode in the Arduino IDE under Tools > USB Type.






Sunday, August 24, 2014

'Mountain' Game Controlled via Ableton Live MIDI Data


I really like the game 'Mountain' (grab it here: http://mountain-game.com/) and I wanted to be able to control the synth within 'Mountain' using MIDI data from a DAW such as Ableton Live.

The 'Mountain' game synth is controlled via the computer keyboard, using the row from Z to less than, and from A to K.


An example is shown below:


The output of a MIDI clip is routed through a 'Max for Live Notes to CC with Note Off' device, which converts the pitch of each note to a MIDI CC number and the velocity of each note (including note-off events) to MIDI CC values. 


The output of the MIDI track in Ableton Live is sent to the software Osculator - in the image below, the MIDI track output is set to 'Osculator In (Port 8000)'.



This conversion from note / velocity to MIDI CC number / value takes place, so that Osculator is able to map a different keycode value to each and every MIDI pitch individually, rather than dealing with MIDI note data on a channel-by-channel basis.

Each MIDI pitch shows up as its own event in Osculator, which can then be mapped to a keycode value. Osculator has a handy 'Keycode Helper' window for mapping purposes. Z corresponds to keycode 6, X to 7, C to 8 and so on. Using this information, each MIDI CC number can be mapped to a corresponding keycode in Osculator.




'Mountain' Game Synth Played with Computer Keyboard

Tuesday, May 13, 2014

Donkey Kong Bongos as 808 Controller

Thursday, May 01, 2014

DIY USB SNES Controller Adaptor


Made with a Teensy 2.0 in the Arduino IDE using the Teensyduino add-on.

The hardware set up is simple - the SNES controller end has five relevant connections (ground, 5V, data, latch, clock). These should be connected to Teensy power and digital pins 0, 1 and 2 - see below for a photo.

The Teensy pinout can be found here. The Teensy should be set to joystick mode in the Arduino IDE under Tools > USB Type.

The code can be downloaded here: http://milkcrate.com.au/_other/downloads/arduino/SNES_Controller/SNES_Controller.ino






Tuesday, April 22, 2014

SEGA Gamepad Emulation Using Wired Wii Nunchuck



Made with a Teensy 2.0 in the Arduino IDE using the Teensyduino add-on.

The hardware set up is simple - the Nunchuck accessory end has four connections (ground, 5V, data, clock). These should be connected to Teensy power and digital pins 5 and 6 - see below for a photo.

The Teensy pinout can be found here. The Teensy should be set to joystick mode in the Arduino IDE under Tools > USB Type.

The code can be downloaded here: http://milkcrate.com.au/_other/downloads/arduino/chuckJoy/chuckJoy.ino





Teensy Arduino NES USB Controller Adaptor



Made with a Teensy 2.0 in the Arduino IDE using the Teensyduino add-on.

The hardware set up is simple - the NES controller end has five connections (ground, 5V, data, latch, clock). These should be connected to Teensy power and digital pins 0, 1 and 2 - see below for a photo.

The Teensy pinout can be found here. The Teensy should be set to joystick mode in the Arduino IDE under Tools > USB Type.

The code can be downloaded here: http://milkcrate.com.au/_other/downloads/arduino/NES_Controller/NES_Controller.ino






Thursday, January 16, 2014

Mapping Osculator and the Wii Classic Controller for Use with Emulation

The Wii Classic Controller can make a useful peripheral when mapped using Osculator. One down side to mapping the Wii Classic Controller with Osculator into a HID virtual source device in OS X is that the X/Y directions will not map correctly from the D-pad.

The output ranges have to be massaged to go from the neutral position (0.5) to the outer limit (either 0.0 or 1.0 depending on the direction).

This is easily managed using the Scalings Page (command F in Osculator).

Download the Osculator template that I have been using with a PSX emulator here: http://milkcrate.com.au/_other/downloads/other/PSX.oscd







Monday, February 11, 2013

Go Straight! (Streets of Rage 2 Remix)

Saturday, January 19, 2013

Joy Pad Wrap Up and Set







Dave Kudrev put on a great Joy Pad event tonight. Food, booze, music and games. Fun times! Thanks for everyone for coming along and listening to my set.


Listen and download my set here.

 

Saturday, December 15, 2012

How To: Extract PCM Samples from a GBA ROM

This short tutorial shows how to easily and simply extract the audio sample data stored in GBA ROM images. A similar process can be used for many different types of ROMs.

 1. Acquire a .GBA ROM file from which to extract samples.


2. Open up Audacity. Create a new project. 

3. Go to File > Import > Raw Data. Navigate to the GBA ROM image file. Note the dialog that opens - allowing you to select: 
• Encoding (What sort of audio data are we expecting i.e. bit depth, format)
• Byte order (In which order are we expecting the bits to form each byte e.g. from lowest to highest bit or the reverse)
• Channels (mono / stereo - for many game ROMs this will be mono)
• Start offset (if you know where in the ROM the audio data is stored)
• Amount to import (if you know how much of the ROM space is used by the audio data)
• Sample rate: (at which rate do we need to play back the audio data so that it sounds correct in terms of speed / pitch)


4. For GBA ROMs, a good place to start is: 
Signed 8-bit PCM, No Endianness, Mono, 0 bytes offset, 100%, 12000Hz Sample rate. 


5. Audacity will import the raw data. 

If the settings selected in the import process are accurate or reasonably accurate, you should be able to see an area of the ROM (in the form of the audio waveform)  that looks significantly different to the rest of it.... 

An area that looks more like actual audio waveforms than a square data waveform.



 6. Preview the audio. If it does not sound correct, re-import the raw data and change the settings. Repeat this process until the audio sounds correct (as in, the same as the in-game audio). 

Once this has been achieved, simply trim the audio down by going to Edit > Remove Audio > Trim. 

Export this audio waveform by going to File > Export Selection and saving the file as a standard Wave file.




Friday, September 30, 2011

SEGA Master System Control Pad as USB Joystick for Emulated Games


This is a Teensy-based USB converter for using a SEGA Master System control pad with an emulator. See in the Setup() function below for the hardware configuration. I used a male 9 pin cable for the converter so that I didn't have to splice an actual SEGA control pad cable.

The converter takes button presses from the control pad and sends them to the computer as keyboard presses and releases. W is up, S is down, A is left, D is right, J is button 1 and K is button 2. Simply setup the emulator of your choice with these keyboard buttons.
byte button_1;
byte button_1_previous;
byte button_2;
byte button_2_previous;
byte button_3;
byte button_3_previous;
byte button_4;
byte button_4_previous;
byte button_5;
byte button_5_previous;
byte button_6;
byte button_6_previous;

void setup() {
pinMode(0, INPUT); // up direction = SEGA joystick pin 1
pinMode(1, INPUT); // down direction = SEGA joystick pin 2
pinMode(2, INPUT); // left direction = SEGA joystick pin 3
pinMode(3, INPUT); // right direction = SEGA joystick pin 4
pinMode(4, INPUT); // button 1 = SEGA joystick pin 6
pinMode(5, INPUT); // button 2 = SEGA joystick pin 9
// also connect Teensy ground to joystick pin 8
digitalWrite(0, HIGH); // turn the pullup resistor on
digitalWrite(1, HIGH); // turn the pullup resistor on
digitalWrite(2, HIGH); // turn the pullup resistor on
digitalWrite(3, HIGH); // turn the pullup resistor on
digitalWrite(4, HIGH); // turn the pullup resistor on
digitalWrite(5, HIGH); // turn the pullup resistor on
}

void loop() {
button_1 = digitalRead(0);
if(button_1 != button_1_previous) {
button_1_previous = button_1;
if(button_1 == 0) {
Keyboard.set_key1(KEY_W);
}
else {
Keyboard.set_key1(0);
}
}
button_2 = digitalRead(1);
if(button_2 != button_2_previous) {
button_2_previous = button_2;
if(button_2 == 0) {
Keyboard.set_key2(KEY_S);
}
else {
Keyboard.set_key2(0);
}
}
button_3 = digitalRead(2);
if(button_3 != button_3_previous) {
button_3_previous = button_3;
if(button_3 == 0) {
Keyboard.set_key3(KEY_A);
}
else {
Keyboard.set_key3(0);
}
}
button_4 = digitalRead(3);
if(button_4 != button_4_previous) {
button_4_previous = button_4;
if(button_4 == 0) {
Keyboard.set_key4(KEY_D);
}
else {
Keyboard.set_key4(0);
}
}
button_5 = digitalRead(4);
if(button_5 != button_5_previous) {
button_5_previous = button_5;
if(button_5 == 0) {
Keyboard.set_key5(KEY_J);
}
else {
Keyboard.set_key5(0);
}
}
button_6 = digitalRead(5);
if(button_6 != button_6_previous) {
button_6_previous = button_6;
if(button_6 == 0) {
Keyboard.set_key6(KEY_K);
}
else {
Keyboard.set_key6(0);
}
}
Keyboard.send_now();
}










Tuesday, February 02, 2010

South Australia and Political Censoring of the Internet

It is difficult to believe that this level of political censorship and meddling is happening now, in this country, in this state. The state government is almost on cue with larger, federal issues of internet censorship in Australia and the rating of video games in Australia, all of which are aspects of modern culture and the rights of the individual. Is this country going insane?

"South Australia has become one of the few states in the world to censor the internet. The new law, which came into force on January 6, requires anyone making an online comment about next month's state election to publish their real name and postcode."

Read the whole article at news.com.au.

So if you're going to leave a comment on this post, you are now legally required to leave your real name and your postcode too. Surely laws such as this one are a slippery slope once entered into?

For the record, my full name is Sebastian Tomczak and my postcode is 5014.