CommonPIC32

Graph

(0) -100 -60 tip
Simplified display configuration initialisation.
Simplified viewport initialisation somewhat.
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.
(0) -100 -60 tip