| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Omitting "void" leads to a K&R style declaration which was not intended.
|
| |
|
|
|
|
| |
Introduce 'struct segoff_s' to more places.
|
|
|
|
|
|
|
|
|
|
|
| |
Implement -ffunction-sections and -fdata-sections in both 32bit and
16bit code.
Make sure all sections have unique names (even asm and discarded
sections).
Enhance tools/layoutrom.py script to find all sections reachable from
exported 16bit code - prune all other sections.
Mark sections with "export" if they can be visible outside of code -
these sections wont be dropped when pruning unused sections.
|
|
|
|
| |
Implement wrapper calls in vgaio.c and use them instead.
|
|
|
|
|
|
| |
Remove remaining "biosfn_" prefixes from functions.
Don't use register names as function parameters.
vgafb_read_pixel should return a value (instead of passing in a pointer)
|
|
|
|
|
|
| |
Pass pointer to cursor position into write_string and write_teletype.
Handle flag processing of write_string in handle_1013.
Implement a tail-recursive scroll_one() function.
|
|
|
|
|
| |
Make 'struct carattr' 3 bytes in size - gcc does better with this.
Add 'noinline' directives to some funcs to reduce handle_10 stack usage.
|
|
|
|
|
|
| |
A tab can only scroll the screen once.
Inline the code from check_scroll into write_teletype.
Also, move row check in write_string to handle_1013.
|
|
|
|
|
|
| |
Introduce memcpy_stride and memset_stride functions.
Simplify the moves and fills using src and dest pointers.
Don't nest for loops - just use one loop for copies.
|
|
|
|
|
| |
Check for nblines==0 in calling function.
Eliminate full screen clearing optimization.
|
| |
|
|
|
|
| |
Use vmode_g->memmodel instead of memmodel and svgamode.
|
|
|
|
|
|
|
|
|
|
| |
Rename biosfn_scroll to vgafb_scroll.
Break function up into per-mode scroll function.
Pass row/col params in a 'struct cursorpos'.
Encode direction as sign in nblines.
Move parameter checking to callers.
Add enhancement to 'attr' for using mode specific default attribute.
Also, make get_cursor_pos local to vga.c.
|
|
|
|
| |
Call set_cursor_pos in callers that need it.
|
| |
|
|
|
|
|
|
| |
Pass cursor position into vgafb_write_char and vgafb_read_char.
Don't pass count into vgafb_write_char.
Break text writing into separate function.
|
| |
|
|
|
|
|
|
| |
The three parameters are used frequently together - define a struct to
hold them.
Alos, merge biosfn_write_char_attr/_only into one function.
|
|
|
|
|
| |
These three values are frequently used together - put them in a struct
and pass the struct around.
|
| |
|
|
|
|
|
| |
The functions font loading functions are nearly identical - replace
with one common function.
|
|
|
|
|
| |
Create vgahw_set_mode() that handles low-level vga setup in vgaio.c.
Move screen clearing to new function in vgafb.c.
|
| |
|
|
|
|
|
| |
Move some functions directly into their only caller.
Also, fix bug in handle_101210 - don't set ax.
|
|
|
|
|
|
| |
Define C structs for the state info.
Move hw specific code to vgahw.c.
Also, make sure to set 0x1c in regs->al on state save/restore calls.
|
|
|
|
| |
Move more hardware port accesses to vgaio.c.
|
|
|
|
|
| |
Move the bios interface control to vga.c.
Also, replace "biosfn_" prefix with "vgahw_".
|
|
|
|
|
|
|
| |
Move hardware IO accessor functions to vgaio.c.
Move framebuffer and font manipulation code to vgafb.c.
Also, have biosfn_write_teletype use biosfn_write_char_attr/only.
Also, breakout set_scan_lines() functionality from biosfn_load_text_X.
|
|
|
|
| |
The total dac size is stored - not the number of entries.
|
| |
|
|
|
|
|
|
| |
The irq entry points now push the handler address and jump to a
function that does parameter setup. This reduces the code size
because the entry setup isn't repeated for every handler.
|
| |
|
| |
|
|
|
|
|
| |
Don't hardcode use of 0xc000.
Use definitions for 0xb000,0xb800,0xa000.
|
|
|
|
| |
Create biosfn_get_cursor_pos and biosfn_get_cursor_shape.
|
| |
|
|
|
|
| |
Prefer using pointers instead of indexes into arrays.
|
|
|
|
|
|
| |
Use c99 variable declarations.
Postfix global pointers with "_g" and far pointers with "_far".
Other syntax cleanups.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Use symbolic names for ports.
Use VGAREG_ACTL_WRITE_DATA instead of VGAREG_ACTL_ADDRESS when writing
a value to the register.
|
| |
|
|
This is an initial import of the code from:
http://www.nongnu.org/vgabios/
The code has been ported from bcc to gcc and gas.
This is an initial import - many functions have not been ported; many
bugs are present.
|