Live data from Hacker News

Bootstrapping an Amiga without a bootable floppy

rvalles.net

11–20 of 24 posts

Re: Bootstrapping an Amiga without a bootable floppy

#11
post #7
post #2

Author here. I am amazed it made frontpage. openbsd's httpd seems to be handling the load well. I will read your comments if any :)

Great work! I had thought about trying this myself but gave up after realising I'd not have access to Trackdisk.device from Romwack - Didn't know about Coolcapture/Warmcapture. I guess I need to read up some more!

Hey, you're not doing so bad yourself with your Amiga OSHW either!

There's much work to be done with the Amiga in the OSHW front, thus this is very welcome.

I intend to read your mem68k-like board's Verilog at some point in the near future. I might want to build one of these, but even if I don't, I wish to learn how it works.

Re: Bootstrapping an Amiga without a bootable floppy

#12
Tiny question: what is LSB?

> At this point, we have control again and AmigaOS is almost fully initialized, with the notable exception of dos.library (not required for doing block level I/O), which is skipped as the LSB of its RomTag structure's rt_Flags field is clear.

Re: Bootstrapping an Amiga without a bootable floppy

#13

Tiny question: what is LSB? > At this point, we have control again and AmigaOS is almost fully initialized, with the notable exception of dos.library (not required for doing block level I/O), which is skipped as the LSB of its RomTag structure's rt_Flags field is clear.

least significant bit

Re: Bootstrapping an Amiga without a bootable floppy

#14

Tiny question: what is LSB? > At this point, we have control again and AmigaOS is almost fully initialized, with the notable exception of dos.library (not required for doing block level I/O), which is skipped as the LSB of its RomTag structure's rt_Flags field is clear.

Least Significant Bit, there.

Tiny question, tiniest bit answer :-D

To add some context, these RomTag structures reside in ROM, so they can't be edited.

The table of residents is, however, in RAM. It should be possible to add RomTags to it, or copy the ROM ones to RAM and modify them there. Conveniently, I did not need to do so.

Re: Bootstrapping an Amiga without a bootable floppy

#15

Tiny question: what is LSB? > At this point, we have control again and AmigaOS is almost fully initialized, with the notable exception of dos.library (not required for doing block level I/O), which is skipped as the LSB of its RomTag structure's rt_Flags field is clear.

Least significant bit. At least that’s my interpretation from context.

Re: Bootstrapping an Amiga without a bootable floppy

#18

This is neat. In the 80's, I remember hooking another computer to my Amiga's serial port and entering the debugger ("RomWack".) I had no idea what to do with it though.

Me neither, until relatively recently I found documentation for romwack. It lives in the "Amiga ROM Kernel Reference Manual: Exec"[0] book.

My pyamigadebug[1] is backed by this debugger and the newer SAD that replaces it in AmigaOS 3.x.

Making function calls and uploading code to the Amiga and running it is made trivial by pyamigadebug. My AmigaXfer[2] is built on this.

[0]: https://archive.org/details/amiga-rom-kernel-reference-manua...

[1]: https://github.com/rvalles/pyamigadebug/

[2]: http://aminet.net/package/comm/misc/amigaXfer_win32 [2]: https://github.com/rvalles/pyamigadebug/releases

Re: Bootstrapping an Amiga without a bootable floppy

#19

Another cool thing happening in the Amiga world is PiStorm - a Raspberry Pi based replacement for the CPU. And the resulting speed up in performance and RAM. https://www.youtube.com/watch?v=-CwVofNogDI

if speed is what you want why not just run winuae and emulate at >1000x the speed of 68000? Even pi4 runs winuae at >400mips. You know whats funny? Workbench still stutters while filling drawers one icon at a time.

Re: Bootstrapping an Amiga without a bootable floppy

#20
Apparently IBM XT also had a way of being bootstrapped with no drives attached

https://hackaday.com/2011/10/03/resurrecting-an-xt/

    ;————————————————————————
    ; LOAD A BLOCK OF TEST CODE THROUGH THE KEYBOARD PORT :
    ; FOR MANUFACTURING TEST. :
    ; THIS ROUTINE WILL LOAD A TEST (MAX LENGTH=FAFFH) THROUGH :
    ; THE KEYBOARD PORT. CODE WILL BE LOADED AT LOCATION :
    ; 0000:0500. AFTER LOADING, CONTROL WILL BE TRANSFERRED :
    ; TO LOCATION 0000:0500. STACK WILL BE LOCATED JUST BELOW :
    ; THE TEST CODE. THIS ROUTINE ASSUMES THAT THE FIRST 2 :
    ; BYTES TRANSFERRED CONTAIN THE COUNT OF BYTES TO BE LOADED :
    ; (BYTE 1=COUNT LOW, BYTE 2=COUNT HI.) :
    ;————————————————————————
Post reply on HN