GlaireDaggers

@glairedaggers@peoplemaking.games
582 Followers
306 Following
1.6K Posts
Hi, I'm Hazel (or Glaire lol)
Tech & VFX artist @ SpryFox
Trans girlflux, bi, autistic, just generally gay & nerdy as hell
PronounsShe/They
Blueskyhttps://bsky.app/profile/glairedaggers.bsky.social
Tumblrglairedaggers-art.tumblr.com

Wanting to get back into pixel art VFX, scribbled this real quick on the iPad last night before bed

#art #pixelart #vfx #animation

He's SCHMOOVIN'

Working on a custom animated sprite format + conversion scripts, plus writing a bunch of game state management stuff around that executable overlay stuff I was working on

(so for example now you can just call StateManager::PushState(StateType::Field) and it will handle cleaning up the previous state, resetting texture heaps, loading in the correct executable overlay, & creating an instance of the FieldState and calling it)

#programming #homebrew #homebrewgames #retro #SEGASaturn

He's SCHMOOVIN'

Working on a custom animated sprite format + conversion scripts, plus writing a bunch of game state management stuff around that executable overlay stuff I was working on

(so for example now you can just call StateManager::PushState(StateType::Field) and it will handle cleaning up the previous state, resetting texture heaps, loading in the correct executable overlay, & creating an instance of the FieldState and calling it)

#programming #homebrew #homebrewgames #retro #SEGASaturn

Deciding I might want to try to kickstart working on a project I haven't worked on in a while. (might be very quiet)

#vgm

For large games like RPGs, you can save on RAM by splitting different game states into separate executable overlays since only one state is ever active at a time (for example, you might have different overlays for the title screen, field map, pause screen, battle, etc)

Hell yeah. Working with Sega Saturn homebrew stuff, got executable overlays working!

Basically: the game code is split into a main "kernel" executable, and then several "overlay" executables. The link script defines all of these overlay sections to reside at the same region in memory, but omits them from the main binary (my makefile instead manually extracts them from the ELF and emits separate binaries for each one)

Then at runtime, the kernel just ensures that the correct overlay binary is loaded into the shared region in memory before it calls into that code.

#gamedev #homebrewgames #SEGASaturn #programming

Working on a sequenced music engine for the Sega Saturn. Got it playing back both PCM samples and 4-op FM patches!

(the screen is turned off in OBS b/c my laptop really struggles and the music timing gets a bit screwey)

#retro #retrogamedev #retrotech #SEGASaturn #homebrewgames #gamedev #chiptune

Wee, my MIDI input/output changes have been merged into Ymir! ^^

https://github.com/StrikerX3/Ymir

https://peoplemaking.games/@glairedaggers/114712877868199909

GitHub - StrikerX3/Ymir: Sega Saturn emulator

Sega Saturn emulator. Contribute to StrikerX3/Ymir development by creating an account on GitHub.

GitHub

woah it's been forever since I logged in. how's everybody been?

Now that I'm back here's a neat project I've been working on: contributing MIDI support to the cross platform Sega Saturn emulator Ymir.

This allows the MIDI registers on the SCSP to be used to interface with external software & MIDI devices - for example, I can now send MIDI data from FL Studio directly into a sound driver running inside an instance of the emulator.

#programming #retro #retrotech #RetroGaming #technology #sega #homebrewgames #SEGASaturn #emulation #music

Another neat thing you can do: exchange data with external tools using SysEx messages. For example, my test ROM allows editing FM synthesis parameters, and I can interface with it from an external CLI tool over a MIDI connection, using SysEx messages to dump patch data to file and load them back in later.

It even plays a little chime when a new patch is loaded in!