CommonPIC32

Graph

(0) -100 -60 tip
Separated sprite position and key details from the plotting operation.
Added support for unplotting sprites using the viewport and background image.
Moved sprite positions out of the stored regions structure.
Introduced static font initialisation, modifying the font data format slightly.
Modified the image conversion tool for slightly better output.
Added support for multiple display windows that can be scrolled separately.
Introduced an undefined character definition. Added string writing support.
Noted the significance of replicating values in the VGA display structure.
Moved the function for updating a tiled image background to the image module.
Added a function for tiling sprites across a region, using it in the scrolling
Introduced partial sprite plotting into the screen edge update function.
Removed a superfluous header file.
Introduced a simplified sprite variant for convenience.
Moved VGA timing and transfer details to the VGA display abstraction,
Fixed parameter name.
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.
(0) -100 -60 tip