Remix.run Logo
JetSetIlly 3 days ago

I really meant in the coding realm, but it's interesting that it created a bootable floppy. That wouldn't be trivial.

Questions: 1) Which AI platform did you use? 2) Did it create a binary image of the floppy disk (an ADF perhaps)? If not, what form did it take?

amiga386 3 days ago | parent | next [-]

> That wouldn't be trivial.

INSTALL DF0:

Just type that and your disk is bootable.

What I find mind-boggling is the handwave over the rest. "Loads the network driver" - ok, which one? There's no standard network driver, only a specification for writing drivers (SANA-II). Was it a driver for SLIP/PPP over the serial port, or a PCMCIA Ethernet adaptor, or something else? Was it a copy of a driver someone's already written?

Also, it would be madness to try doing this in a bootblock, or insinuating that the bootblock did it. Demo bootblocks take over the hardware and start using their loading routines, eschewing the main AmigaOS, and that's the implication of saying something was done in the bootblock (you have under 1KB of space so the first thing you need is your own loader).

What's much more mundane and normal is a standard bootblock which returns control to AmigaDOS and lets it run the startup-sequence, whereupon you can use normal files, libraries, devices, including a full suite of other people's networking software, including BOOTP (AmiTCP comes with a client) and TFTP (see Olaf Barthel's tftpclient: https://github.com/obarthel/amiga-sana-ii-tftpclient). But it stopped being the "bootblock" that did it as soon as it started AmigaDOS.

roygbiv2 2 days ago | parent [-]

> INSTALL DF0:

That gives you a standard OFS bootblock that returns to AmigaDOS. Mine is a custom bootblock, same DOS\0 magic and checksum format so Kickstart accepts it, but it never enters AmigaDOS.

> What I find mind-boggling is the handwave over the rest

Fair, I should have been more specific. The network driver is the popular cnet.device which is compatible with my PCMCIA ethernet card. It's loaded from fixed floppy sectors.

> it would be madness to try doing this in a bootblock

Agreed, and I don't. It's a multi-stage boot that stays at exec level throughout, AmigaDOS is never started, no process is created, no startup-sequence runs, _DOSBase is explicitly NULL.

The disk is a standard 880K ADF with no filesystem at all, it's just raw binaries at fixed sector offsets. The only ROM libraries used are exec.library, intuition.library and graphics.library for a debug display. Everything else is self-contained on the disk.

So you're right that it isn't the bootblock doing the networking.

roygbiv2 3 days ago | parent | prev [-]

I used cursor with a mix of Gemini 3.1 and opus 4.6.

It referenced the Amiga ROM Kernel Reference Manual, appendix C to create a boot block in assembly. It's a raw sector-mapped image, the build process creates a blank adf, which then writes everything at it's fixed offsets and we go back with another tool to patch the bootblock with the right checksum so the kernel accepts it.

I copied that adf to the A1200 so I can then write it to a real floppy.