Skip to content

optixx Posts

Amiga style PSP Demo

I have been working on a Amiga style PSP demo using some traditional Amiga OCS influenced demo effects. It started with porting the FC player to the PSP, later i added the sine scroller effect and logo swing.

Usage

  1. Install docker image with psp toolchain
  2. Create pspdev-docker.sh script into your path
  3. Compile
pspdev-docker.sh make clean all 
  1. Run elf in the emulator
/Applications/PPSSPPSDL.app/Contents/MacOS/PPSSPPSDL sine-deme.elf
Links
Leave a Comment

Learning Atari 800 XL Assembler

I revisted my Atari code snippets that i collected over the last 2 years to learn Atari 800 XL assember. I created a Github repo to make it easy yo access them.

Hello World DLI

Weganoid Game

Usage

  1. Install mads assembler into your path
  2. Install atari800 emulator into your path
  3. Create helper scripts into your path to start the emulator
#!/bin/sh
ATARI_PATH="~/Devel/arch/atari"
${ATARI_PATH}/bin/atari800 -pal -xe -xlxe_rom ${ATARI_PATH}/roms/ATARIXL.ROM -video-accel -win-width 800 -win-height 600 "$1"
  1. Build and run an example
cd hello 
make all

Links

  • mads – MADS multi-pass crossassembler
  • atari800 – Atari800 portable and free Atari 8-bit emulator
  • sample code – Atari 800 XL code samples
Leave a Comment

A modern toolchain for Vectrex development

Recently i read an article about the Vectrex game console. I kew the system a bit, also played it when it came out in the early 80s at a friends house. But i never really hat a connection to the system, like i have for the SNES or the Amiga computer.

Since writing an emulator is on my programming bucketlist, i recenlty took a look at simple platforms that i could start to write an emulator for. I looked into stuff like Chip8 and the GameBoy that seemed easy to emulate, in comparison to a PS1 or N64.

So the Vectrex got interested. I started reading its specification. It all seemed straigth forward to me. The Vectrex uses a Motorola 6809 CPU, which is not a super common 8bit CPU, but was used in the Dragon home computers. Otherwise there is an AY-3-8912 for the sound and 1KB RAM and 8KB ROM.

To get started i took a look into homebrew scene, to figure out getting own code runing on the machine. As usual for systems from that time it was mainly programmed using machine code. Which i kind of like, but also implicates a higher learning curve. There is typically no middleware or frameworks that helps you with anyhting, so you have to learn all the HW registers and figure out how to stuff.

So i was surpised to find a of modern c toolchain with some libc and bios support. I ended up following the instructions for a modern c based toolchain.

The toolchain basically consists of a c compiler, assmbler & linker and a emulator. It also came with and SDL based Emulator, but it would not run on current MacOS because of the unmaintained/bugfixed SDL library. So i decided to port the the emulator to SDL2, which was fun learning the render contexts of SDL2.

So thats what iam using

  • CMOC – The C compiler
  • LWTOOLS – Assembler and linker for the 6809
  • VecX – Vectrex emulator

I started off modifying the c examples that came from Johan who ported the CMOC compiler suite to the Vectrex system.

This is what i came with, you can find the code in my sample repo.

VecX Emulator

Leave a Comment

Revisited an old MacOS Application

8 Years ago when the App Store for MacOS Apps was quite new i develop a little utility app for managing clipboard contents. The app was definitely inspired by Linux apps that i used all the time and was i really missing such a tool on MacOS.

For me it was the first time writing an OSX App using Objective-c. Took me a couple of weeks to get everything working how i wanted it. I went all in and setup an Twitter account and Blog for it to do some Marketing. Some i had the crazy to ask money for the app 🙂 And it never took off, i have maybe sold 50 Apps. After a year the Apple developer account subscription ran out. Which i never renewed and so the app got removed form the AppStore. But i also kept using the tool and i gave to co-workers in my company.

Recently i was approached by our marketing team if we could release the app and add a Userlike branding to it, so we can use it as a free download in a blog article, which seems to be a interesting thing to try out.

For me it was interesting to revisit this project after 8 years and make it work on Mojave and Xcode 10.3. First of all i have to say it took me like 5 minutes to get back into Xcode. I mean they must have added quite a lot of features to it over the the years but still it feels and works the same.

To make it compile, I had to fix a couple of build settings regarding OS versions and arch. I did re-build of one external framework that i was unable to link with current Mojave built app. To make the app ready for a release i re-branded it to look like Userlike tool.

It took me a couple of hours to make this app release ready again. I spent the most time to enroll into the developer program, where i was struggling with the DUNS number for my company, that includes non roman characters which are not allowed for the company name in the Apple developer program signup form. So I had to go thru the customer support to sort that out.

Leave a Comment

Positive Grid Bias FX Review

I have been using Bias FX for over 3 years now. I always likes the visual approach of the prodcut and i think they deliver a good sounding plugins for hobbist guitar players like me.

I started using Bias FX Standard Version after seeing postive Youtube reviews. Over the time i upgraded to the Professioal Version because often i got stuck trying to use a preset from the Tone Cloud that wouldn’t load without having e.g. the Professional Version. I also bought two more Expansion packs because i still kept running into problems when trying out downloaded presets. I don’t remember the exact number, but I estimate that I already spent like 200 Euros for upgrades and extension packs. During that process i also tried Bias AMP 1 and later i upgraded to Bias AMP 2. And now iam struggling to do the upgrade to Bias FX 2 since i feel a little bit brunt by Postive Grid Software quality and upselling strategies over the last 2-3 years.

Lets talk a bot about software quality now. I collected a couple things i experienced using Postive Grid products over the years.

  • UI Inconsistencies: I have used 4 major Bias Products and all do commong stuff like login popups, audio settings differently. Always changing UI elements, slightly improving stuff but not back porting fixes and improvements to older version of the product.
  • Broken UI: I have used a couple of version of Bias FX that were broken. It was not possible to use the text paste function during the login popup, which is a major annoyance if you use long random passwords with password manager. The worst version i had once, would just crash if would use the paste function on the password input field.
  • Postive Grid updates all their products regulary, mostly updating the core sound eingine. But after each update (which does not use an autoupdater), you need to re-login to your account to access the license settings and use the Tone Cloud. I think this could be dont better and let the user not re-login everytime after each software update. So everytime you start your DAW you end up typing in passwords for you plugins before you can start to work.
  • Aparently the Tone Cloud UI is added via webviews and the overall experience feels a bit hacked together when related to the App native crossplatform UI toolkit. I guess it should be possbile to develop the whole UI of the app and the online components in one native webcontainer and let the rest to done by the native audio core that probably written in C++.
  • While using the Tone Cloud you can preview all presets, dispite the constraint if you actually entitled to use them regarding app version and extensions packs. So after previewing and installing presets you will get feedback if you return to the main app once you want to active the preset where you end up getting and upgrade nag screen.
  • The whole Midi integration feels hacked together, there 2-3 UI approaches how to assign Midi Commands to different function of your stack, which can be quite cumbersomne if try to setup a more complex setup and try to sort out conflicts.

Overall considering Postive Grids upselling tactics, that the prodcut is fragmented in a way that usage feels like using a crippleware and their permament marketing push, offering deals on their website, gives me the impression they either don’t have great trust in their product or they haven’t found the right market fit. In way they should try to deliver a good product that customers are happy to pay a one time payement, and if this is sustainable for them they should consider migrating to a SaaS model. But this feature limitations and upselling tactics are annoying for a power user.

So in the future i stick to smaller plugins that don’t implement this permanent upgrade pressure.

Leave a Comment