|
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. |
|
|
Use the global offset table when obtaining the address of main. |
|
|
Attempted to initialise writable data by relocating the .data section. |
|
|
Made VGA initialisation more convenient, permitting the indication of timers to |
|
|
Added a function to produce interrupt numbers from timer numbers. |
|
|
Added VGA output initialisation descriptions. |
|
|
Moved DMA channel configuration and operations into common library code. |
|
|
Fixed transfer destination comment. |
|
|
Moved horizontal/vertical sync configuration and functions into library code. |
|
|
Moved horizontal/vertical sync configuration into a common library module. |
|
|
Adjusted the pixel channel priority to hopefully avoid ordering problems. |
|
|
Fixed zero channel initiation remark. |
|
|
Extracted the display state machine, moving it into a separate library module. |
|
|
Introduced a display configuration structure to be included in an application, |
|
|
Introduced framebuffer usage and replaced the DMA interrupt with a Timer2 event, |
|
|
Introduced a parameter for FPB in uart_init, eliminating this dependency on the |
|
|
Introduced dual pixel transfer channels to the timer-based VGA example, also |
|
|
Introduced various definitions for transfer and display-related properties. |
|
|
Experiment with interleaved DMA channels. |
|
|
Replaced usage of the DMA interrupt with the Timer3 event for the zero channel. |
|
|
Replaced usage of the DMA interrupt with the Timer2 event for the zero channel. |
|
|
Added support for a framebuffer, also providing a common library function to |
|