77:d103800bffda
|
2018-10-30 |
Paul Boddie |
changeset
files
shortlog
graph
|
Included VGA definitions to support ordering-independent inclusion of this file. |
|
|
include/display_config.h
|
|
76:b2241b813d16
|
2018-10-30 |
Paul Boddie |
changeset
files
shortlog
graph
|
Defined code to follow the main function in case it wants to return somewhere. |
|
|
lib/start.S
|
|
75:f9acc9c732f1
|
2018-10-30 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed invocation of the interrupt handler function, avoiding $gp usage. The
absence of any computation of $gp in the handler routine meant that where such
computations (in function prologues, for instance) were being interrupted, a
corrupt $gp was being used, causing an exception.
Changed the exception handler routine to switch to the IRQ stack and to use the
appropriate calling convention. |
|
|
lib/cpu.S
|
|
74:32cb6b232444
|
2018-10-29 |
Paul Boddie |
changeset
files
shortlog
graph
|
Improved the blitting code to permit saving and restoring framebuffer data and
for blitting with a key colour for transparency.
Introduced a sprite to test the blitting code.
Established a function to introduce delays in the example code. |
|
|
examples/vga-dual/Makefile examples/vga-dual/sprite.S examples/vga-pmp/Makefile examples/vga-pmp/sprite.S examples/vga-timer/Makefile examples/vga-timer/sprite.S examples/vga/Makefile examples/vga/main.c examples/vga/sprite.S include/display.h ...
|
|
73:812e66b7ad47
|
2018-10-29 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added options to strip/avoid padding the output image, and to use byte-aligned
instead of word-aligned/padded data.
Embed the options in the generated output for subsequent reference. |
|
|
tools/makeimage.py
|
|
72:3981a018d7e0
|
2018-10-28 |
Paul Boddie |
changeset
files
shortlog
graph
|
Incorporated the parallel mode configuration into the vga example code. |
|
|
examples/vga-pmp/Makefile examples/vga-pmp/main.c examples/vga/main.c
|
|
71:6c30c4c39803
|
2018-10-28 |
Paul Boddie |
changeset
files
shortlog
graph
|
Moved framebuffer initialisation to after the point of interrupts being enabled.
This should no longer crash, thanks to the preservation of the accumulator
registers. |
|
|
examples/vga/main.c
|
|
70:25aa0d4ffa88
|
2018-10-28 |
Paul Boddie |
changeset
files
shortlog
graph
|
Save and restore the accumulator registers. Otherwise, certain operations, such
as those coincidentally employed in the framebuffer copying function, are
disrupted and cause erroneous program operations to be performed. |
|
|
lib/cpu.S
|
|
69:f3a4ee69fdfc
|
2018-10-27 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added example image data and a function to copy the data to the framebuffer.
Added a tool to prepare image data from conventional bitmap files. |
|
|
examples/vga-dual/Makefile examples/vga-dual/screendata.S examples/vga-pmp/screendata.S examples/vga-timer/Makefile examples/vga-timer/screendata.S examples/vga/Makefile examples/vga/main.c examples/vga/screendata.S include/display.h lib/display.c ...
|
|
68:b55498587c1f
|
2018-10-27 |
Paul Boddie |
changeset
files
shortlog
graph
|
Merged sections to avoid virtual and physical (load) address discrepancies.
The .rodata objects were being positioned after the .text objects, but although
the starting virtual address for the .rodata objects seemed to be aligned to a
particular boundary (maybe 16 bytes), the starting physical address was not
aligned. Consequently, the program was looking for objects at addresses beyond
their actual, stored locations. |
|
|
lib/payload.ld
|
|