HNHacker News
TopNewBestAskShowJobs

rvalles

87 karma · joined May 3, 2021

https://github.com/rvalles
submissionscomments
rvalles··on Show HN: go-nbd – A Pure Go NBD Server and Client
NBD is fairly simple. I wrote a minimal server in Python[0]. It is just a few lines.

0. https://github.com/rvalles/pyamigadebug/blob/master/NBDServe...

rvalles··on The x86's Decimal Adjust after Addition (DAA) instruction
I have used DAA recently, in my "load option ROM in RAM floppy tool"[0]. Specifically, I use it for printing numbers as hexadecimal[1], as unfortunately the ASCII standard is not arranged in a way as to facilitate this.

0. https://github.com/rvalles/optromloader/

1. https://github.com/rvalles/optromloader/blob/master/optromlo...

rvalles··on Brute Force Colors
I have played with HAM conversion myself[0], but my approach has been to deliberately avoid brute-force. That's not just because it'd be less fun, but also as I'd like to get these algorithms working on the Amiga itself at some point.

My current local code has new strategies and also does dynamic hires, but it's an uncommitted mess.

0. https://github.com/rvalles/amigagfxmangle

rvalles··on Project IceStorm: open-source toolchain for Lattice iCE40 FPGAs
I learned the FPGA ropes by making (from scratch, reinventing many wheels) a fast interface between dbus (TI calculator link port) and a standard serial port in Verilog. It is dramatically faster than every other "link cable" available.[1]

Thanks to IceStorm/yosys/nextpnr, I never had to touch a proprietary tool to do this.

There's now very cheap, OSHW development boards to get started with[2].

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

[2] https://joelw.id.au/FPGA/CheapFPGADevelopmentBoards

rvalles··on Optromloader: 8086 floppy-loading of option ROMs
Author here. Optromloader made front page somehow.

I will read your comments, and try to answer questions if any.

rvalles··on Bootstrapping an Amiga without a bootable floppy
Did re-read your comment, and thought I'd point you to some code so you can quickly see how it works.

Regarding trackdisk.device, you might want to take a look at:

https://github.com/rvalles/pyamigadebug/blob/master/ExecLibr...

And the function calling mechanism for RomWack backend:

https://github.com/rvalles/pyamigadebug/blob/master/RomWack....

Ultimately, TrackdiskDevice ends up being a thin wrapper around ExecLibrary:

https://github.com/rvalles/pyamigadebug/blob/master/Trackdis...

For performance purposes, the Floppy tool does instead use this small server written in asm:

https://github.com/rvalles/pyamigadebug/blob/master/asm/flop...

And the python boilerplate client to talk with it:

https://github.com/rvalles/pyamigadebug/blob/master/FloppyXf...

For the BERR case, without the initial reboot, Amiga will just crash again when calls are made from the exception handler. Recovering control after a reboot is a nice and clean way to get the Amiga into a known state. It is definitely also doable without rebooting, but somewhat more involved.

Else, when entering the debugger via e.g. the extra debug menu present in workbench when loaded via "loadwb -debug", the context RomWack works with is a user context, so I just take over the user task. As long as I don't corrupt the stack (or anything else), I can even return cleanly.

rvalles··on Bootstrapping an Amiga without a bootable floppy
While fast, PiStorm is still similar to a 030, and not anywhere near fast enough for 060 demoscene.

Workbench is what it is.

rvalles··on Bootstrapping an Amiga without a bootable floppy
I had never heard about this one. Neat.

re: Amiga, it is sad that, with 256KB of ROM, they couldn't fit a key combination to call exec's Debug() in the strap module.

I understand that, somehow, nobody thought about it.

rvalles··on Bootstrapping an Amiga without a bootable floppy
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

rvalles··on Bootstrapping an Amiga without a bootable floppy
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.

rvalles··on Bootstrapping an Amiga without a bootable floppy
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.

rvalles··on Bootstrapping an Amiga without a bootable floppy
I can confirm something's wrong by using an incognito windows.

It might have something to do with my user being new. Who knows what secret rules are in place for that.

I'm hopeful this will change soon, but who knows.

rvalles··on Bootstrapping an Amiga without a bootable floppy
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 :)