• Amiga assembly, bootblock developing

    From Felice Murolo@2:335/206 to All on Tue Oct 17 16:12:46 2023
    Ciao,

    in past years, when the Amiga was in vogue, I wrote programs for this computer, mainly using the C and ARexx languages.

    30 years later, in recent months I have written some programs for the Amiga, developing them in C under Linux, and then compiling them with a particular version of gcc.

    Lately, I've been very curious about assembly language and, in particular, I've tried my hand at simple programs that use system libraries and open windows or write texts, etc.
    In Assembly everything is more complicated, but simple programs, mostly for educational use, I can do without problems.

    What I'm obsessing over, however, is writing a routine to incorporate into the floppy bootblock.

    I extracted and disassembled a standard bootblock, generated with the "c:install df0:" program under kick 3.1, I integrated it with a routine that shows colored lines and waits for the left mouse button to be pressed.

    Now I would like to make the message "Press the left mouse button" appear, but I can't figure out how to do it. The call to the "PutStr(string)" function of the "dos.library", which I used in another of the educational programs I mentioned above, causes a Guru Meditation or a Recoverable Error, probably because it fails to open the library.

    This is the source:

    https://fel.hopto.org/test/miobb.asm

    A big thank you in advance to those who will help me.


    Ciao.
    Felix

    --- FidoEditor v1.2a
    * Origin: MaxBBS - Salerno, Italia (2:335/206.0)
  • From Danny Bee@1:105/420 to Felice Murolo on Tue Oct 17 07:53:37 2023
    What I'm obsessing over, however, is writing a routine to incorporate
    into the floppy bootblock.

    The goal is to have your NDOS disk bootup to your program or just to boot your stuff from a floppy even if this is just a system formatted disk.

    I'm sure the first is well documented on the Internet, but as you're more focused on learning assembly written programs to distribute the on a floppy, why not to start from startup-sequence?

    -h1

    ... Xerox Alto was the thing. Anything after we use is just a mere copy.

    --- Mystic BBS v1.12 A48 (Linux/64)
    * Origin: 2o fOr beeRS bbS>>20ForBeers.com:1337 (1:105/420)
  • From Felice Murolo@2:335/206 to Danny Bee on Tue Oct 17 20:34:14 2023
    On 17-10-2023 07:53:36, Danny Bee writes:

    into the floppy bootblock.
    The goal is to have your NDOS disk bootup to your program or just to boot stuff from a floppy even if this is just a system formatted disk.
    I'm sure the first is well documented on the Internet, but as you're more
    on learning assembly written programs to distribute the on a floppy, why
    to start from startup-sequence?

    Hi Danny,

    that is, are you telling me that bootblocks like the ones in the images I attach do nothing more than load a normal program allocated somewhere else on the diskette?

    https://fel.hopto.org/test/demo.png
    https://fel.hopto.org/test/demo2.png



    Ciao.
    Felix

    --- FidoEditor v1.2a
    * Origin: MaxBBS - Salerno, Italia (2:335/206.0)
  • From Felice Murolo@2:335/206 to Danny Bee on Tue Oct 17 23:11:30 2023
    On 17-10-2023 20:34:14, Felice Murolo writes:

    On 17-10-2023 07:53:36, Danny Bee writes:
    into the floppy bootblock.
    The goal is to have your NDOS disk bootup to your program or just to
    stuff from a floppy even if this is just a system formatted disk.
    I'm sure the first is well documented on the Internet, but as you're
    on learning assembly written programs to distribute the on a floppy, why to start from startup-sequence?

    Hi Danny,
    that is, are you telling me that bootblocks like the ones in the images I
    do nothing more than load a normal program allocated somewhere else on the https://fel.hopto.org/test/demo.png
    https://fel.hopto.org/test/demo2.png

    I answer myself: no, not all, at least.

    I analyzed the source of the first bootblock of which I attached the images in the previous message and everything happens in the 1024 bytes of that source, no external program is launched.

    Now I will have to understand the various pieces of that source, which animates writings and draws those "sinusoidal" lines on the video. And it sounds, too. It's not easy for me.

    Thanks anyway.

    Ciao.
    Felix

    --- FidoEditor v1.2a
    * Origin: MaxBBS - Salerno, Italia (2:335/206.0)
  • From Danny Bee@1:105/420 to Felice Murolo on Wed Oct 18 13:15:46 2023
    that is, are you telling me that bootblocks like the ones in the FM> > images
    do nothing more than load a normal program allocated somewhere else on FM> > t
    https://fel.hopto.org/test/demo.png https://fel.hopto.org/test/demo2.png

    I answer myself: no, not all, at least.

    That's what I'd assume should work.
    1. You format the floppy disk with within a system
    2. install df0: to copy/create boot sector on such disk
    3. and then it should look for df0:S/startup-sequence for instruction how to boot or just boot to AmigaDOS with nothing loaded or most likely error message that this is not a proper AmigaDOS disk.

    I haven't been playing with Amiga for a while but if that doesn't work for you, I can try to boot it up again for a simple test.

    -db

    ... Xerox Alto was the thing. Anything after we use is just a mere copy.

    --- Mystic BBS v1.12 A48 (Linux/64)
    * Origin: 2o fOr beeRS bbS>>20ForBeers.com:1337 (1:105/420)
  • From Felice Murolo@2:335/206 to Danny Bee on Thu Oct 19 15:54:28 2023
    On 18-10-2023 13:15:46, Danny Bee writes:

    that is, are you telling me that bootblocks like the ones in the
    images
    do nothing more than load a normal program allocated somewhere else
    t
    https://fel.hopto.org/test/demo.png https://fel.hopto.org/test/demo2.png

    I answer myself: no, not all, at least.
    That's what I'd assume should work.
    1. You format the floppy disk with within a system
    2. install df0: to copy/create boot sector on such disk
    3. and then it should look for df0:S/startup-sequence for instruction how

    ok, but this is the standard way to launch any program on the floppy disk.

    Instead, I wanted to modify the bootblock by inserting a routine inside that shows a text like "(c) by Felice Murolo - Press the left mouse button" and waits for the left button to be pressed.

    Maybe then enriching this thing with a gradient background color (I've already managed to do this, playing with the copper registers).

    Any ideas?

    Regards.


    Ciao.
    Felix

    --- FidoEditor v1.2a
    * Origin: MaxBBS - Salerno, Italia (2:335/206.0)
  • From Danny Bee@1:105/420 to Felice Murolo on Thu Oct 19 12:07:02 2023
    ok, but this is the standard way to launch any program on the floppy
    disk.

    To achieve what you showed in the screenshots you don't need anything else.


    Instead, I wanted to modify the bootblock by inserting a routine inside that shows a text like "(c) by Felice Murolo - Press the left mouse button" and waits for the left button to be pressed.

    Maybe then enriching this thing with a gradient background color (I've already managed to do this, playing with the copper registers).


    That's why I asked if you only want to boot from a system or bypass that and boot as NonDOS disk, which is also possible.

    For the second option you need to read:

    https://wiki.amigaos.net/wiki/Amiga_Floppy_Boot_Process_and_Physical_Layout

    as a starter

    -db

    ... Xerox Alto was the thing. Anything after we use is just a mere copy.

    --- Mystic BBS v1.12 A48 (Linux/64)
    * Origin: 2o fOr beeRS bbS>>20ForBeers.com:1337 (1:105/420)
  • From Felice Murolo@2:335/206 to Danny Bee on Sat Oct 21 10:15:42 2023
    On 19-10-2023 12:07:02, Danny Bee writes:

    disk.
    To achieve what you showed in the screenshots you don't need anything

    Instead, I wanted to modify the bootblock by inserting a routine
    that shows a text like "(c) by Felice Murolo - Press the left mouse button" and waits for the left button to be pressed.

    Maybe then enriching this thing with a gradient background color already managed to do this, playing with the copper registers).

    That's why I asked if you only want to boot from a system or bypass that boot as NonDOS disk, which is also possible.
    For the second option you need to read:

    Thank you so much.

    In the next days I will read the link.

    Ciao.
    Felix

    --- FidoEditor v1.2a
    * Origin: MaxBBS - Salerno, Italia (2:335/206.0)
  • From Danny Bee@1:105/420 to Felice Murolo on Thu Oct 26 12:45:36 2023
    In the next days I will read the link.

    Did you manage?

    -db

    --- Mystic BBS v1.12 A48 (Linux/64)
    * Origin: 2o fOr beeRS bbS>>20ForBeers.com:1337 (1:105/420)
  • From Felice Murolo@2:335/206 to Danny Bee on Fri Oct 27 16:11:06 2023
    On 26-10-2023 12:45:36, Danny Bee writes:

    In the next days I will read the link.
    Did you manage?

    Yes. Actually the content of the link provided me with only one new piece of information: when you are in bootblock, the base of the trackdisk.device is in register A1. This could be useful if I wanted to read code present in some tracks, but this is not exactly my purpose.

    For now, also due to other deadlines, I am stuck in the development of my own bootblock.

    Ciao.
    Felix

    --- FidoEditor v1.2a
    * Origin: MaxBBS - Salerno, Italia (2:335/206.0)