LSDJ is a tracker for the gameboy that allows people to write music fairly easily using the hardware of the gameboy.
https://www.youtube.com/watch?v=iPI1IBc7IEA
Most people use LSDJ in an emulated form since obtaining the actual cartridges is quite expensive.
LSDJ is a fairly simple program but because of the limitations of the gameboy, blind users would have to rely completely on memorization to know where they are located within a song, making it quite difficult to play. As a bit of a pet project, I'm making my own custom emulator for LSDJ that will allow blind users to know more about what they're actually doing in LSDJ so they can write their own music with this tool.
I have gone through the RAM and determined the location important variables located in the RAM, such as the current page, the cursor position, and the locations of some data in the game. As a bit of a pet project this weekend I'm going to be modifying an open source Java emulator to see if I can program a new cycle that checks these values in the RAM for changes and announces those changes when they occur. Fun fact - this is also how asynchronous tasks are handled by most software, such as pressing a key down.
Based on what I extracted I should be able to write something that announces the following:
- Current screen (for example, song screen or instrument screen)
- Cursor location
- Some Data, such as what references are used.
This isn't a super serious project but yeah. I've been depressed as hell lately and I'm just starting to put my life together again and I want to practice making accessible software not named "Braillemon". lol
I won't personally distribute LSDJ with this project but you can obtain the most recent demo version here: http://www.littlesounddj.com/lsd/latest … 5b_demo.gb
It doesn't come with saving, but emulators usually support save states.