|
Moved sprite operations to the image module. |
|
|
Introduced a sprite abstraction, bundling an image with stored display regions. |
|
|
Replaced the individual stored region abstraction with a collection abstraction, |
|
|
Introduced an image abstraction, making image data easier to work with. |
|
|
Introduced an abstraction for stored screen region details. |
|
|
Introduced a viewport abstraction to simplify the example program. |
|
|
Introduced screen start address retention for each frame in the display library. |
|
|
Merged changes involving absent files. |
|
|
Added missing files. |
|
|
Extended the documentation, adding build, circuit and programming details. |
|
|
Renamed the display functions to indicate their origin. |
|
|
Moved font structure initialisation into a function. |
|
|
Wrap the text properly when filling the screen with characters. |
|
|
Moved various common functions to a utilities module. |
|
|
Added tag snapshot-20181108 for changeset e83be2917e9a |
|
|
Fixed pixel positioning for single-channel timed transfers, introducing the line |
snapshot-20181108 |
|
Added diagrams from VGAPIC32 plus new diagrams illustrating new solutions. |
|
|
Switch to double-buffering. Only vga-cpu and vga-timer are actually usable. |
|
|
Fixed screen edge updates where update columns span the background image edge. |
|
|
Introduced multiple frame usage in the example. |
|
|
Added support for source image scaling where images might be used in single- and |
|
|
Introduced various pointer address wrapping functions. |
|
|
Fixed erroneous frame size definitions. |
|
|
Introduced a separate function to set up the background image. |
|
|
Merged concurrent changes. |
|
|
Introduced a function to wait for the end of the visible region. |
|
|
Check the requested number of frames. |
|
|
Introduced separate functions to simplify the animate function. |
|
|
Introduced initial support for multiple display frames. |
|
|
Maintain separate addresses for updating the display, permitting access to |
|
|
Made font plotting relative to the screen start, not the framebuffer address. |
|
|
Moved resources into the data directory, adding a 160x128 screen image. |
|
|
Added general documentation and updated the vga-dual example documentation to |
|
|
Consolidated the CPU- and DMA-based display functionality. |
|
|
Introduced support for, and a demonstration of, CPU-driven pixel data transfers. |
|
|
Removed unnecessary include. |
|
|
Fixed erroneous timer interrupt flags register! |
|
|
Introduced tracking of the vertical origin so that the background is repainted |
|
|
Added scrolling support, making display operations relative to the start address |
|
|
Added an extra line to the framebuffer for horizontal scrolling purposes. |
|
|
Tidied up some repetition in expressions. |
|
|
Moved common VGA timings to a separate file, adjusting the visible start. |
|
|
Employ a more sensible LED blinking frequency in the exception handler. |
|
|
Added a bitmap font, a conversion tool, and library code to blit characters. |
|
|
Included VGA definitions to support ordering-independent inclusion of this file. |
|
|
Defined code to follow the main function in case it wants to return somewhere. |
|
|
Fixed invocation of the interrupt handler function, avoiding $gp usage. The |
|
|
Improved the blitting code to permit saving and restoring framebuffer data and |
|
|
Added options to strip/avoid padding the output image, and to use byte-aligned |
|
|
Incorporated the parallel mode configuration into the vga example code. |
|
|
Moved framebuffer initialisation to after the point of interrupts being enabled. |
|
|
Save and restore the accumulator registers. Otherwise, certain operations, such |
|
|
Added example image data and a function to copy the data to the framebuffer. |
|
|
Merged sections to avoid virtual and physical (load) address discrepancies. |
|
|
Use array types to reference program regions more naturally. |
|
|
Introduced .bss section clearing. |
|
|
Removed stray whitespace. |
|
|
Fixed the relocation function, enabling the vga example again. |
|
|
Use a simpler byte-based copy for the data relocation. |
|
|
Merged parallel changes, updating the relocate_data invocation similarly. |
|