amiga_boottest

view README @ 4:995d42b33974

serial output
author John Tsiombikas <nuclear@member.fsf.org>
date Fri, 23 Feb 2018 13:29:37 +0200
parents
children
line source
1 Amiga floppy boot test
2 ----------------------
3 Bootblock code in src/boot/boot.s uses the Amiga exec in ROM to load the
4 flat binary image from from the first N sectors to address 0x10000, and jumps
5 there. The size of the binary is patched immediately before the first
6 instruction of the boot code by tools/mk_adf.py.
8 Linkscript puts code from the .startup segment (src/startup.s) at the load
9 address, and it starts by setting the trap0 exception vector to point to the
10 next instruction and executes a trap 0, to enter supervisor mode and take
11 complete control of the system. Then it clears .bss, sets the stack and calls
12 the C main function.
14 A few words about the graphics hack
15 -----------------------------------
16 The IFS fractal is calculated in 16.16 fixed point, using a mersenne twister
17 random number generator (src/rng.c) for picking an IFS transformation to do each
18 time. Two bitplanes are enabled both pointing to the same IFS pixel buffer, with
19 a few scanlines offset and a different per-pixel scroll (data fetch delay) in
20 BPLCON1. The palette is set up in a way to give priority to bitplane 0, i.e. use
21 green for pixels with bit 0 set, and use a shadow color for pixels which have
22 only bit 1 set. This gives the illusion of a shadow layer.
24 Serial debug output
25 -------------------
26 Serial comm needs RTS/CTS (hardware) flow control.
27 stty 38400 crtscts cs8 -parenb -ixon -ixoff raw -iutf8 -F /dev/ttyUSB0