Archive:
- "Bernie Drummond"
- "A500 Dev Tools"
- "GoPro"
- "Musings on Cumbria"
- "First Steps With Rust..."
- "Amiga OS 3.2"
- "Metal Gear"
- "Turbo Sprint"
- "MouSTer"
- "GOEX SD Card Floppy Emu"
- "iPod Bluetooth Adaptor"
- "Rockbox Thoughts"
- "Widescreen Amiga"
- "Managing An iPod"
- "Listening With Purpose"
- "Retro Tea Breaks Vol. 1"
- "Simple Pleasures of Valheim"
- "ADF Collection"
- "Monster Stick"
- "Indivision Mk3 Redux"
- "GWIHP - Prodeus"
- "Indivision AGA Mk3"
- "A Note About Notes..."
"Tweaking Bart's VSCode Ext."
Posted: 30 May, 2022
I booked my tickets to Assembly a few days ago, and like most years, this got me thinking about doing a compo-filler. Chances are vanishingly small that I’ll get to it, but I do want to mess about with something different as a hobby project, so I thought I’d fire up VSCode and Bartman’s extension.
16:9
I’m a big fan of Revision’s 16:9 format for Amiga demos. I'd love to make a game in that aspect ratio, which I know is sacrilege to people that use their Amigas on actual CRTs, but for the rest of the world (especially now the Amiga Mini is out) I think it makes perfect sense. Besides, think of the extra raster time!
Bart’s extension comes with a customised WinUAE that has a default config file at: %userprofile%/.vscode/extensions/bartmanabyss.amiga-debug-1.3.6/bin
It’s easy enough to edit this file so WinUAE always opens in a 16:9 window. There’s also a little trick (which I blogged about before) using a null-filter to scale the emulator’s output to fill the window. The results are great.
Here’re the extra bits you need for the UAE config file:
gfx_width=1920
gfx_height=1080
gfx_width_windowed=1920
gfx_height_windowed=1080
gfx_center_horizontal=smart
gfx_center_vertical=smart
gfx_filter_autoscale=scale
Revision recommend using the following settings: DIWSTRT,$5281; DIWSTOP,$06c1 which is a couple of lines change to the display port setup in the copper list.
C11
The extension uses a customised version of GCC, so it’s possible to use C11 if you fix a couple of compiler warnings in /support/gcc8_c_support.h
Each of the inline asm macros should be __asm__, the four at the bottom are missing the underscores.
I looked into this as I was interested in messing about with C11’s generic functions and initialiser stuff, but there’s no real need when programming the Amiga, especially without the standard libraries.
Base Project
I spent a few hours pulling apart the example demo and re-building it, ground-up, into a base project that I can fork for my own stuff. Everything’s split into files and programmed in my style, which is a bit more C++’y these days. It means I can read it without thinking, and it got my head back into the Amiga includes, which ended up being a fun diversion.
I think the next thing to do is sort out the copperlists, and get some stuff moving about.