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