HNHacker News
TopNewBestAskShowJobs

mark_round

276 karma · joined August 2, 2012

DevOps architect and retro-computing enthusiast. Check out https://markround.com for my Amiga and ZX Spectrum related projects!
submissionscomments
mark_round··on Amiga Systems Programming in 2023
Sure! Sorry, I was typing on a phone and it turned into a real word salad/jargon mess :)

I was replying to someone asking how I got my "classic" 1990s-era Amiga screenshots to look so fancy. The built in Amiga AGA chipset is pretty limited by today's standards and gets slower/uses more memory the higher you push the resolution and colour depth. Most classic Amigas run on low-res limited colour screens - the default is 640x256 in 4 colours. On an 68030-accelerated Amiga I could just about push it to 800x600 in 256 colours, but it was very sluggish.

I now have a Vampire Accelerator card[1] which adds a much faster CPU core, along with an embedded graphics chipset, HDMI output, networking, SD card interface and other nice things. The Vampire "graphics card" is driven through the AmigaOS's support for "ReTargetable Graphics" (RTG). You can read about the setup and installation on my site[2].

My vintage 1992 A1200 is running a hacked together OS, using a base of "CoffinOS" which is a distribution of AmigaOS favoured by Vampire accelerator users. It consists of a classic AmigaOS 3.x installation along with all the Vampire-specific drivers, utilities, games and other things all ready to go out of the box. Because it ships copyrighted AmigaOS binaries and other things that may not be 100% legal to redistribute (and the Amiga scene in general is a litigious mess), I won't link to it but it's easy enough to find[3].

On top of this, I have installed various components from Hyperion's AmigaOS 3.2, so it's a sort of mash-up of two different distributions of AmigaOS. To get my fancy looking icons, I used the "Faenza" icon set in PNG format.

Hope that clears it up a bit!

[1] There are loads of accelerator options now for classic Amigas that add faster processors, networking, graphics and other cool things. There are some others mentioned in this thread like the TerribleFire series of accelerators, and the PiStorm accelerator based around a Raspberry PI is also proving a very popular and full-featured option.

[2] https://www.markround.com/blog/2020/07/21/apollo-vampire-ami...

[3] Side note - Apollo Accelerators (the makers of the Vampire) are working on ApolloOS which is a legally clean distribution of the open-source AmigaOS clone, AROS. This is what you'll get (and is officially supported) if you buy a new Vampire card or stand-alone Vampire V4 system although CoffinOS is still being developed and distributed by a mystery team.

mark_round··on Amiga Systems Programming in 2023
The images from my A1200 are on a very customized OS 3.2/CoffinOS (legally "dubious" AmigaOS distribution favoured by Vampire accelerator users) hybrid system with Faenza PNG icons. But if you have a graphics card (or emulate one in e.g. WinUAE), you can run in high resolutions/bit depths like this. The X5000 screenshots are on a QHD 24-bit resolution as the X5000 is a far more modern machine and has a hardware-accelerated compositor and 3D stack running on a Radeon PCIe card.
mark_round··on Amiga Systems Programming in 2023
Nitpick away, always glad to include corrections!

> LZX had supplanted LHA already by 1994.

True, but LHA always felt like more of the standard and tools were readily available and present on most systems. Sort of like how Bzip2/XZ and so on are technically far superior, yet a gzipped tarball is still the universal standard on Unix systems. A quick glance through AmiNet shows the majority of packages there are still using LHA as standard. Even stuff targetting a "modern" Amiga tends to use LHA - grepping the Os4Depot full package list shows:

  grep -c '.lha' FULLINDEX.readme
  4110
  grep -c '.lzx' FULLINDEX.readme
  37
> For all practical accounts of programming the CPU it's a 32-bit machine

True. I'll update the article to include that - I guess I'm really thinking of things like the 68020 processor (and CD32 which proudly proclaimed "32-BIT" in big letters on the case :)

> You're in no way locked to program for AmigaOS in C.

Also true. From what I can see, calling & opening the libraries from Assembly is remarkably similar to e.g. C, but from browsing the leaked OS source (not that I'd ever advocate for that sort of thing ;) ) it was all originally in C. I wanted to dive in and get a better understanding of the code as it was originally written hence my experiments targeting C. Plus, I knew enough C from my old University days to get up to speed in a short enough timespan. With no memory protection, crashing my Amiga because I forgot to free some DOS object or other was a common occurrence - if I was attempting this in Assembly, I'd probably still be working on a basic proof-of-concept! Although I really admire the skills of those developers who did choose that language to write system utilities, not to mention the magic of the demo-scene. It's just a bit beyond my abilities/time constraints at the moment!

mark_round··on Amiga Systems Programming in 2023
Wow! Starred and saved. Thanks for the tip, that will be so useful for testing and incorporating in my Drone pipelines. I'll have a play and post an update, it looks like it should work nicely with my simple utility. Nice find!
mark_round··on Amiga Systems Programming in 2023
I have mine connected to a modern flat-panel display as I use an Indivision adapter, and there are other solutions which is fortunate as CRTs are getting very rare (and fragile!) now. Would still love one for the retro appeal, but I just can't justify it! The power draw from the base system is pretty small, I just checked the power meter my A1200 is plugged into, and powering it on jumped the draw from around 1.6A at 240V to around 1.77A.
mark_round··on Amiga Systems Programming in 2023
There is a fantastic article which I've linked to before that goes into a lot of that: https://datagubbe.se/ltmag/

Datatypes in particular are amazing! I really wish some of these features (see also: ASSIGNs) made it over to other platforms. Which makes me think... A really nice hack (after I finally port SetCmd back to 68k and then bring it to more platforms) would be to add an ARexx port. Rexx itself is a pretty decent scripting language and the ubiquity of it on later-day Amiga systems meant that glue-ing components together and automating big chunks of platform behavior was very simple. Off down the rabbit hole again ;)

mark_round··on Amiga Systems Programming in 2023
OS 4.x runs on PowerPC processors, and there are a bunch of dedicated systems like the X1000, X5000 or SAM460EP. You can also run a "classic" OS 4.x version in emulators or on classic Amigas fitted with PowerPC accelerators. You could always snag a used Mac Mini PPC and run MorphOS on it for a similar experience; MorphOS is a sort of "off-shoot" from the Amiga family tree but has very active development including up to date browsers like https://wayfarer.icu.

Hyperion have also released updated and bug-fixed versions of "classic" AmigaOS, and you can purchase the ROM sets and disks for e.g. OS 3.2 to use with an original machine like your A500.

For HDMI output, I use an Indivision card. It's a little fiddly to fit (has to clip in over the top of some other chips) but gives a great stable and crystal-clear DVI or HDMI output. There are also external "flicker fixer" boxes or scandoublers that turn the Amiga 15KHz video output into something useable by modern displays, but in my experience they tend not to give as good quality output or have lag issues when playing games.

mark_round··on Amiga Systems Programming in 2023
Modern systems ? I dunno. I wouldn't use anything like Linux, Mac or Windows - there's just way too much indirection and the system as a whole is just too opaque for a beginner. I think the A500 could make a fantastic platform for systems programming teaching. I mean, it's probably going to be AmigaOS 1.2/1.3 so very basic compared to later releases but there's enough in there to hold attention and create something interesting. Plus it's always nice to have something like the original beige "wedge" to hack on, it's a lot more interesting and "real" than working on an emulator.

I think the thing that would hold you back on an un-expanded A500 would be choice of programming language; a C compiler is probably just too heavyweight to use on a basic machine, particularly if you don't have a hard drive fitted. Assembler would be OK, although possibly a little too low-level. Something like AMOS would fit the bill perfectly though: Would run find on older systems and very quick to create something that would hold the attention like a game or demo. Although that's not really "systems programming" as such.

mark_round··on Amiga Systems Programming in 2023
CygnusEd was the absolute business back in the day. I still love it, but my muscle memory just isn't there anymore after years of PC/Mac editors! I guess I've also become too spoiled by modern conveniences. LiteXL runs on pretty much anything and writing extensions is also pretty easy. But maybe I should get back into the habit of using CygnusEd some more...
mark_round··on Amiga Systems Programming in 2023
Ha, good eye :) Nah, you see an A1200 that I am constantly fiddling with, and I frequently take the SD and CF cards out to clone! I do have a set of backup scripts that clone content to a CF card in a PCMCIA adapter but I always feel safer with a full "dd" backup or similar. Because I keep opening it up I just leave the screws removed for easier access and make sure it's kept dust free every so often.
mark_round··on Amiga Systems Programming in 2023
Author here, thanks for posting! Happy to answer any questions or chat Amiga stuff in general. Bear in mind - as I said in the article - I'm more-or-less a total newbie when it comes to all this stuff. I have been involved in the Amiga scene since I got my first A600 in the 90s, but really just observed the coding side of things from the sidelines although I did enjoy a brief stint as a Graphics Artist using DeluxePaint for a UK Scene group. My C code will probably make your eyes bleed, and I'm sure I've got some factual details wrong but diving back into this platform again (and discovering all the little details that made it so advanced for the time) after a long absence has been a lot of fun!
mark_round··on How much better was DEC Alpha than contemporaneous x86? (2020)
If you want to get really obscure, someone has implemented a substantial amount of VMS commands and related userland stuff for classic AmigaOS! http://aminet.net/package/misc/emu/AmiVms
mark_round··on Twenty years of blogging
Great stuff! Like many here, my blog/website seems to have been started at that magic ~20 year-old point. I also went back through the Internet Archive and revisited the different phases in my site's "life" at https://www.markround.com/about

It started off as static HTML - built in a tool called "AOL Press" I think I got on a CD from a magazine -and uploaded to the shared FTP space we got with our family's dial-up internet package. Under construction gifs and rainbow spacer bars galore...

Since then, it's moved to the various platforms of the day (Remember PHP Nuke ? Serenity ?), become virtualised, moved into the cloud, and now exists amongst various other things deployed to my public k8s cluster.

Having your own slice of the internet is a great experience, and I can't recommend it enough. Apart from the nostalgia trip of looking back through the various cheesy site designs and "fads" of the day, it's also fun to revisit the various tech stacks that have come and gone that I wrote about. There's still one of my earliest articles (a review of Solaris 9 - https://www.markround.com/blog/2002/07/02/Solaris-9-initial-...) online and I've tried hard through various migrations - eventually coming full-circle and back to static HTML with Jekyll - to keep the content presentable and avoiding link-rot.

It's an investment of time and money (domains, SSL before we had LetsEncrypt, hosting etc.) for sure but well worth it. I also take a certain amount of pride in stubbornly avoiding the trendy centralised blogging/content platforms that have come and gone over the last few decades - I miss the "old" Internet a great deal and I love that there's still a bunch of us preserving that spirit by running our own websites and tending to them over the years.

Here's to the next 20 years! Maybe we should start a HN webring :D

-Mark

mark_round··on Haiku package management
It's a Haiku thing. Added around 2018 if I recall correctly - see the linked lobste.rs thread in another of my comments where a Haiku developer gives some (really interesting) background on the development and effects on the community.
mark_round··on Haiku package management
I highly recommend it! Even if you haven't had the experience or attachment to BeOS it's a refreshing and fun take on a desktop system. It just "clicks" with me in a way that Linux/Windows/Mac never did. It's truly impressive that they've been going for over 20 years now (I still remember the first screenshot of app_server drawing a window in the early 2000s) and have accomplished so much from scratch. Can't wait to see where the project will go next!
mark_round··on Haiku package management
Author of the article here. Thanks for posting this! There's also a really interesting thread on lobste.rs [1] where a Haiku developer talks more about some of their less user-visible innovations, compares the Linux development model to Haiku, and gives some background on the drama[2] caused by the adoption of their package management system.

Well worth a read and fascinating (to me, anyway!) to see new ideas and approaches from the Alt-OS scene.

[1]=https://lobste.rs/s/j9decl/haiku_package_management

[2]=https://lobste.rs/s/j9decl/haiku_package_management#c_owqi3t

mark_round··on Haiku Package Management
Author here - thanks for posting! There's also a really interesting discussion thread about this on lobste.rs where a Haiku developer gives some of the interesting background (and drama!) behind the development of their package management system and other innovations: https://lobste.rs/s/j9decl/haiku_package_management#c_owqi3t
mark_round··on SD: My script directory
https://direnv.net/ possibly ?
mark_round··on The last person standing in the floppy disk business
I wrote about this a few years ago on my blog when I re-fitted my old Commodore Amiga with a floppy drive after years of using SD-card floppy emulators: http://www.markround.com/blog/2019/12/30/back-to-the-floppy/

There really was something special about labelling the disks, the deliberate act of sorting through your collection and selecting one... To me, it feels much like picking out a vinyl record to enjoy rather than having everything "on tap" with Spotify. And then there's the scene it generated which reminds me of the tape trading days of the 80s:

"...Later on, when I eventually got involved in The Scene, floppies brought us together in a way I think is now sadly long-gone. Because we traded disks with each other - and groups typically had members whose sole “job” in the group was as a “trader” or “swapper” - we also wrote to each other. As a particularly awkward teenager (with a bunch of the usual teen issues and a healthy side-order of angst), some of the closest friendships I formed during those years were with the other members of my group. Alongside the floppy disks we’d write long, rambling letters to each other full of everything and nothing. We’d fill our envelopes to each other with “Jiffy Junk” - little trinkets we’d collect and swap: Kinder surprise toys, trading cards and the occasional mix-tape... Even though I think I only ever met one of the guys from my group in person, I still think about them often to this day and wonder what they’re all doing now.

As the Amiga scene gradually died and the BBS (and later, the Internet and FTP sites) became the primary means of obtaining software I think a lot of those friendships were broken. Even though The Scene is still a very close-knit community, I’d be interested to know whether those same bonds exist today when most communication is probably electronic in nature..."

mark_round··on Ask HN: I want to be an expert in many things but my lifetime won't be enough
Thank you for posting that. It came at a surprisingly opportune moment and I needed to read that. I'll be checking it out later tonight.
mark_round··on Celebrating 40 years of ZX Spectrum
Oh wow, that's seriously amazing! It's great to see others enjoying my crazy ideas :) These old systems sure can be a lot of fun. You definitely get your moneys worth!
mark_round··on DevOps for the Sinclair Spectrum
Mine too. Eventually got a +3,a Plus and even a ZX81 for the sake of completion before I moved onto the Amiga.

Other systems of the day like the C64 could run rings around the Speccy, but I always loved it's quintessentially British "crap" aesthetic and charm, colour-clash and all :)

mark_round··on DevOps for the Sinclair Spectrum
YS forever. SU had some good covertapes, but YS was a way of life.
mark_round··on Celebrating 40 years of ZX Spectrum
Thanks! Looks like it's just been submitted at https://news.ycombinator.com/item?id=31134121

I'm glad you liked it, the whole project was a labour of love and a huge amount of fun to put together. Particularly the whole "running unit tests through an emulated zx printer" thing!

mark_round··on DevOps for the Sinclair Spectrum
Hi, author of the article here! Great to see this posted today on the Speccy's 40th birthday :) Happy to answer any questions or reminisce about the Good Old Days!
mark_round··on Celebrating 40 years of ZX Spectrum
I grew up with the Speccy and it's what kick-started my interest in computers and ultimately led to my career. I still have a +3, which is connected to the internet [1].

It's amazing to see that there's still a sizeable scene devoted to this humble little box, and there's new hardware and impressive hacks being built to this day. In the words of one of the messages from a user of my site: "It’s mad being online with a 40yr old computer designed around a tape recorder."

Part of it's longevity and appeal is how simple the system was - even 11 Year-old me could grasp the memory layout and experiment with writing assembler. I expect I'll still be hacking away on it in another 40 years!

[1] - I wrote a series of blog posts on how I mashed up a modern GitOps/k8s dev environment with 1980s Sinclair BASIC to build a community site: http://www.markround.com/blog/2021/12/21/devops-for-the-sinc...

mark_round··on Ask HN: What is the actual purpose of Docker?
As others have written, you can either download your config from an external host, or pass in environment variables to your container and generate a configuration based on them.

Lots of people write their own scripts to do this; I wrote Tiller (http://github.com/markround/tiller) to standardise this usage pattern. While I have written a plugin to support storing values in a Zookeeper cluster, I tend to prefer to keep things in YAML files inside the container - at least, for small environments that don't change often. It just reduces a dependency on an external service, but I can see how useful it would be in larger, dynamic environments.

← PreviousPage 2 of 2