amiga_boottest
diff README @ 4:995d42b33974
serial output
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Fri, 23 Feb 2018 13:29:37 +0200 |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/README Fri Feb 23 13:29:37 2018 +0200 1.3 @@ -0,0 +1,27 @@ 1.4 +Amiga floppy boot test 1.5 +---------------------- 1.6 +Bootblock code in src/boot/boot.s uses the Amiga exec in ROM to load the 1.7 +flat binary image from from the first N sectors to address 0x10000, and jumps 1.8 +there. The size of the binary is patched immediately before the first 1.9 +instruction of the boot code by tools/mk_adf.py. 1.10 + 1.11 +Linkscript puts code from the .startup segment (src/startup.s) at the load 1.12 +address, and it starts by setting the trap0 exception vector to point to the 1.13 +next instruction and executes a trap 0, to enter supervisor mode and take 1.14 +complete control of the system. Then it clears .bss, sets the stack and calls 1.15 +the C main function. 1.16 + 1.17 +A few words about the graphics hack 1.18 +----------------------------------- 1.19 +The IFS fractal is calculated in 16.16 fixed point, using a mersenne twister 1.20 +random number generator (src/rng.c) for picking an IFS transformation to do each 1.21 +time. Two bitplanes are enabled both pointing to the same IFS pixel buffer, with 1.22 +a few scanlines offset and a different per-pixel scroll (data fetch delay) in 1.23 +BPLCON1. The palette is set up in a way to give priority to bitplane 0, i.e. use 1.24 +green for pixels with bit 0 set, and use a shadow color for pixels which have 1.25 +only bit 1 set. This gives the illusion of a shadow layer. 1.26 + 1.27 +Serial debug output 1.28 +------------------- 1.29 +Serial comm needs RTS/CTS (hardware) flow control. 1.30 + stty 38400 crtscts cs8 -parenb -ixon -ixoff raw -iutf8 -F /dev/ttyUSB0