CommonPIC32

Graph

(0) -60 +60 tip
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
Moved .data into flash. Otherwise, it appears that certain pointer arithmetic
Added a function to update the source of a DMA channel.
Organised header and common payload files into include and lib directories.
Added a VGA example variant employing timer-scheduled single-pixel transfers.
Updated the documentation to be more specific to this example.
Added a parallel mode variant of the VGA example.
Introduced device configuration files for individual programs together with
Fixed parallel mode write strobe configuration.
Added support for parallel mode.
Added the documentation from the VGAPIC32 project.
Removed superfluous variable declaration.
Added support for external interrupt configuration.
Corrected the description of the frequency generation mechanism, changing the
Fixed the description of the interrupt configuration of OC1.
The timer and OC interrupts do not need to be enabled to initiate DMA transfers.
Removed debugging output showing line data.
(0) -60 +60 tip