Amiga issues
https://source.mnt.re/groups/amiga/-/issues
2024-03-14T16:09:56Z
https://source.mnt.re/amiga/zz9000-firmware/-/issues/12
Explore WASM/WAMR for plugins
2024-03-14T16:09:56Z
minute
Explore WASM/WAMR for plugins
https://github.com/bytecodealliance/wasm-micro-runtime
What we want to know:
- Is wasm-micro-runtime a useful target for acceleration plugins?
- Is it a viable alternative to converting the firmware to Linux?
- I.e. can people write a C...
https://github.com/bytecodealliance/wasm-micro-runtime
What we want to know:
- Is wasm-micro-runtime a useful target for acceleration plugins?
- Is it a viable alternative to converting the firmware to Linux?
- I.e. can people write a C program, compile it to WASM, and can we relatively easily port/run WAMR on ZZ9000OS to load such binaries?
Boils down to:
- How complicated is it to write a small C application targeting WAMR?
- What do we need to expose in terms of operating system interface to WAMR from ZZ9000OS to make it work? For example:
- [ ] timer
- [ ] interrupt
- [ ] memory allocator
- [ ] filesystem
- https://github.com/bytecodealliance/wasm-micro-runtime/blob/main/doc/embed_wamr.md
plom
plom
https://source.mnt.re/amiga/zz9000-firmware/-/issues/6
Explore TLS acceleration
2023-01-11T12:34:17Z
minute
Explore TLS acceleration
Currently, using HTTPS on the Amiga is no fun. Every request with IBrowse takes ~30 seconds, even on a 68060/50. We should look into implementing AES (?) encryption/decryption on the ARM.
The first task is to make a list of the most com...
Currently, using HTTPS on the Amiga is no fun. Every request with IBrowse takes ~30 seconds, even on a 68060/50. We should look into implementing AES (?) encryption/decryption on the ARM.
The first task is to make a list of the most compute intense tasks when making a HTTPS connection.
To this end, lets write a simple C program that uses OpenSSL library and times all operations involved in making a TLS connection to a server and receiving some data.
See also:
- https://en.wikipedia.org/wiki/Transport_Layer_Security#Cipher
- https://en.wikipedia.org/wiki/CCM_mode
- https://en.wikipedia.org/wiki/Galois/Counter_Mode
- https://github.com/SpinalHDL/buildroot-spinal-saxon/blob/main/patches/libressl/0000-vexriscv-aes.patch
What we don't know: is accelerating AES GCM/CCM enough, or is the key exchange also very slow?
plom
plom
https://source.mnt.re/amiga/zz9000-sdk/-/issues/1
Make Emulator (based on QEMU?) to run/debug ZZ9000 Apps on Linux
2023-06-06T20:26:50Z
minute
Make Emulator (based on QEMU?) to run/debug ZZ9000 Apps on Linux
ZZ9000 servers are Linux Armv7 (armhf) binaries that are controlled by a custom linux kernel and that:
- have a command stream socket
- operate on mmapped input and output buffers in a VFS
The first task is to write a demo/prototype ser...
ZZ9000 servers are Linux Armv7 (armhf) binaries that are controlled by a custom linux kernel and that:
- have a command stream socket
- operate on mmapped input and output buffers in a VFS
The first task is to write a demo/prototype server (running on x64 desktop linux) that statically links libjpeg and decodes a JPEG.
Note that we use gcc-arm-none-eabihf.
Linux solves these problems on the ZZ/ARM side:
- Exception/Crash handling
- MMU based memory protection
- Core 2 slowness (caches?) / task scheduling
- VFS
plom
plom
https://source.mnt.re/amiga/zz9000-firmware/-/issues/8
1920x800 mode reports wrong pixel aspect
2023-03-29T18:13:47Z
Marcus Gerards
1920x800 mode reports wrong pixel aspect
The new 1920x800 video mode reports a pixel aspect of 1:2 to the OS, causing gadget distortion and malfunctioning in some programs.
It should be 1:1 as with all other modes.
The new 1920x800 video mode reports a pixel aspect of 1:2 to the OS, causing gadget distortion and malfunctioning in some programs.
It should be 1:1 as with all other modes.
https://source.mnt.re/amiga/zz9000-drivers/-/issues/2
RTG Driver in InitCard() using a hardcoded value and S3ViRGE constants
2023-04-14T00:09:51Z
Adam Polkosnik
RTG Driver in InitCard() using a hardcoded value and S3ViRGE constants
Originally picked up on a1k.org. Thanks Gdonner!
https://www.a1k.org/forum/index.php?threads/68991/post-1678993
[rtg/mntgfx-gcc.c#L427](rtg/mntgfx-gcc.c#L427)
```
b->BoardType = 14;
b->PaletteChipType = PCT_S3ViRGE;
b->GraphicsCont...
Originally picked up on a1k.org. Thanks Gdonner!
https://www.a1k.org/forum/index.php?threads/68991/post-1678993
[rtg/mntgfx-gcc.c#L427](rtg/mntgfx-gcc.c#L427)
```
b->BoardType = 14;
b->PaletteChipType = PCT_S3ViRGE;
b->GraphicsControllerType = GCT_S3ViRGE;
```
Should be:
```
b->BoardType = BT_MNT_ZZ9000;
b->PaletteChipType = PCT_MNT_ZZ9000;
b->GraphicsControllerType = GCT_MNT_ZZ9000;
```
However,
I thought the reason for using uae board type, was compatibility with the p96 that's available on aminet.
"No, the P96 core does not really care much about the board type, except for some boards selecting the "essential" modes, so there is no incompatibility. It matters a lot more for Picasso96Mode, or P96Prefs, where it makes a big difference as in which modes are considered possible and which tooltypes a particular board offers. Anyhow, a driver can even check the version of the rtg.library and select on "as which board" it identifies."
https://www.a1k.org/forum/index.php?threads/68991/post-1679124
40.3945 is the version of rtg.library that is included in the package from aminet.
```VER: rtg.library 40.3945 (16.11.99) ©1991-99 A.Kneer T.Abt```
https://source.mnt.re/amiga/zz9000-firmware/-/issues/9
AA3000+ yellow screens with firmwares built after 8/9/2019
2024-03-14T17:55:27Z
Adam Polkosnik
AA3000+ yellow screens with firmwares built after 8/9/2019
dframeli reported:
With only the ZZ9000 installed (batch 10) any firmware revision, v1.8 thru v1.13, results in a yellow screen and a continuously rebooting system. But, if I install the firmware dated 8/9/2019, the system boots just fi...
dframeli reported:
With only the ZZ9000 installed (batch 10) any firmware revision, v1.8 thru v1.13, results in a yellow screen and a continuously rebooting system. But, if I install the firmware dated 8/9/2019, the system boots just fine, even with the Buddha installed, and BFG running at 100Mhz.
- Amiga model: Amiga 3000D (AA3000+ Motherboard, Buster 11, Ramsey 7, DMAC 4)
- 680x0 CPU: 68060 (BFG9060, @50Mhz or 100Mhz, doesn’t matter)
- RAM Configuration: 2MB Chip, 16MB Fast
- Kickstart, AmigaOS Versions: v3.2.2
- ZZ9000 Firmware version: August 9, 2019 Working
- ZZ9000 Driver version: N/A
- Monitor model: 38” LG 38GN950-B.AUS
- Other Zorro cards: Buddha IDE (installed or not, doesn’t matter)
https://source.mnt.re/amiga/zz9000-firmware/-/issues/10
ZZ9000 does not boot with A4091
2023-10-27T01:30:50Z
Stefan Reinauer
stefan.reinauer@coreboot.org
ZZ9000 does not boot with A4091
ZZ9000 shows yellow screen when used with A4091.
ZZ9000 shows yellow screen when used with A4091.
https://source.mnt.re/amiga/zz9000-firmware/-/issues/11
ZZ9000 USB boot issue
2023-10-27T05:56:28Z
Stefan Reinauer
stefan.reinauer@coreboot.org
ZZ9000 USB boot issue
With 1.13 and AmigaOS 3.2.2 I can see the USB stick in HDToolBox when scanning zzusb.device. I can also mount the device with the "Mounter" program. But the USB stick does not show up in the Early Boot Menu, nor does it get automounted.
...
With 1.13 and AmigaOS 3.2.2 I can see the USB stick in HDToolBox when scanning zzusb.device. I can also mount the device with the "Mounter" program. But the USB stick does not show up in the Early Boot Menu, nor does it get automounted.
Is this WAI?
USB stick is ~1.3G formatted with FFS.
https://source.mnt.re/amiga/zz9000-firmware/-/issues/3
Implement JPEG decoding operation
2022-04-01T11:57:19Z
minute
Implement JPEG decoding operation
The goal is to be able to upload a JPEG compressed image into ZZ9000 address space, then call a decode_jpeg() function via a ZZ9000 register giving source and dest (uint32_t*) pointers, plus a clipping bounds and stride specification (se...
The goal is to be able to upload a JPEG compressed image into ZZ9000 address space, then call a decode_jpeg() function via a ZZ9000 register giving source and dest (uint32_t*) pointers, plus a clipping bounds and stride specification (see below). ZZ9000 should decode the specified rectangular portion (up to its full size) of the image in the background. We should also implement status register(s) for the function where Amiga can poll the result (OK/error/busy).
The target decoded format should be RGBX with 8 bits per color channel (one 32 bit integer per pixel). The following parameters need to be supplied to the function:
- x offset into the image (for scrolling/panning)
- y offset into the image
- width (the max amounts of pixels of the image that will be displayed)
- height (the max amounts of pixels of the image that will be displayed)
- stride (pixels per output line, i.e. the window or screen width of the target display)
To achieve this, we need a new .c/.h file implementing the function and all its dependencies (self contained) except for the C standard library. I already tried nanojpeg in the past, but it had too many problems with different JPEG formats.
For HW-independent development/testing, create a main.c harness for Linux that instruments the function. Later, we integrate the jpeg decoder into the firmware.
plom
plom