aboutsummaryrefslogtreecommitdiff
path: root/vgasrc
AgeCommit message (Collapse)AuthorFilesLines
2009-09-09Replace common segment/offset pairs with struct segoff_s.Kevin O'Connor2-19/+18
Introduce 'struct segoff_s' to more places.
2009-06-10Do garbage collection of unused sections.Kevin O'Connor1-1/+1
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.
2009-05-31VGA: Move direct in/out calls out of vgafb.c.Kevin O'Connor3-27/+38
Implement wrapper calls in vgaio.c and use them instead.
2009-05-31VGA: Comment and name update.Kevin O'Connor3-77/+87
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)
2009-05-31VGA: Arrange screen writing functions to minimize stack.Kevin O'Connor1-21/+50
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.
2009-05-31VGA: Reduce stack usage.Kevin O'Connor2-7/+6
Make 'struct carattr' 3 bytes in size - gcc does better with this. Add 'noinline' directives to some funcs to reduce handle_10 stack usage.
2009-05-31VGA: No need to scroll multiple times when writing a tab.Kevin O'Connor1-35/+21
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.
2009-05-31VGA: Further simplify scrolling code.Kevin O'Connor2-169/+86
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.
2009-05-31VGA: Simplify scrolling implementation.Kevin O'Connor2-54/+18
Check for nblines==0 in calling function. Eliminate full screen clearing optimization.
2009-05-31VGA: Fix bad commit to vgafb.c - missing '}'.Kevin O'Connor1-0/+1
2009-05-31VGA: Define clear_screen in terms of memmodel.Kevin O'Connor1-10/+12
Use vmode_g->memmodel instead of memmodel and svgamode.
2009-05-31VGA: Breakup biosfn_scroll.Kevin O'Connor3-165/+217
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.
2009-05-26VGA: Move cursor setting out of biosfn_write_teletype.Kevin O'Connor1-24/+14
Call set_cursor_pos in callers that need it.
2009-05-26VGA: Remove recursion from biosfn_write_teletype().Kevin O'Connor1-28/+37
2009-05-26VGA: Simplify vgafb_write/read_char.Kevin O'Connor3-68/+87
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.
2009-05-25VGA: Remove vmode_g->class - store info in vmode_g->memmodel.Kevin O'Connor4-37/+30
2009-05-25VGA: Use struct for car/attr/WITH_ATTR.Kevin O'Connor3-99/+66
The three parameters are used frequently together - define a struct to hold them. Alos, merge biosfn_write_char_attr/_only into one function.
2009-05-25VGA: Combine x/y/page into one parameter.Kevin O'Connor3-108/+90
These three values are frequently used together - put them in a struct and pass the struct around.
2009-05-25VGA: Inline biosfn_set_video_mode() into its only caller.Kevin O'Connor1-133/+107
2009-05-25VGA: Replace biosfn_load_text_* with vgafb_load_font().Kevin O'Connor3-65/+30
The functions font loading functions are nearly identical - replace with one common function.
2009-05-25VGA: Factor out hardware accesses from biosfn_set_video_mode.Kevin O'Connor4-96/+113
Create vgahw_set_mode() that handles low-level vga setup in vgaio.c. Move screen clearing to new function in vgafb.c.
2009-05-25VGA: Minor - improve indentation of palette structs.Kevin O'Connor1-57/+113
2009-05-25VGA: Inline several functions in vga.c.Kevin O'Connor1-181/+109
Move some functions directly into their only caller. Also, fix bug in handle_101210 - don't set ax.
2009-05-21VGA: Define structs for save/restore state calls.Kevin O'Connor3-289/+285
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.
2009-05-18VGA: Move some ioport accesses from vga.c to vgaio.c.Kevin O'Connor3-47/+97
Move more hardware port accesses to vgaio.c.
2009-05-17VGA: Remove references to 'struct bregs' from vgaio.c code.Kevin O'Connor4-149/+109
Move the bios interface control to vga.c. Also, replace "biosfn_" prefix with "vgahw_".
2009-05-17VGA: Extract code from vga.c into new files vgaio.c and vgafb.c.Kevin O'Connor4-975/+1010
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.
2009-05-17VGA: Fix DAC loading during mode switch.Kevin O'Connor1-6/+4
The total dac size is stored - not the number of entries.
2009-05-17VGA: Make use of regs->ebp - now that it is present in 'struct bregs'.Kevin O'Connor1-10/+6
2009-05-16Define unified entry points for irq handlers.Kevin O'Connor1-1/+4
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.
2009-05-16VGA: Use GET_IVT macro instead of raw GET_FARVAR.Kevin O'Connor1-8/+4
2009-05-16VGA: Add calling stubs for vbe functions.Kevin O'Connor2-5/+11
2009-05-16VGA: Use segment definitions.Kevin O'Connor3-66/+64
Don't hardcode use of 0xc000. Use definitions for 0xb000,0xb800,0xa000.
2009-05-16VGA: Split biosfn_get_cursor_pos function.Kevin O'Connor1-25/+23
Create biosfn_get_cursor_pos and biosfn_get_cursor_shape.
2009-05-16VGA: Minor - use "_far" postfix on far pointers.Kevin O'Connor1-19/+19
2009-05-16VGA: Rework vga_modes[] array to have pointers to other structs.Kevin O'Connor3-191/+170
Prefer using pointers instead of indexes into arrays.
2009-05-16VGA: Misc syntax cleanups.Kevin O'Connor1-362/+322
Use c99 variable declarations. Postfix global pointers with "_g" and far pointers with "_far". Other syntax cleanups.
2009-05-16VGA: Minor - use "_g" suffix for global pointers.Kevin O'Connor1-9/+9
2009-05-14VGA: Add header guard to vgasrc/vgatables.hKevin O'Connor1-0/+4
2009-05-14VGA: Remove unused DEBUG ifdefs.Kevin O'Connor1-31/+3
2009-05-13VGA: memset16_far and memcpy16_far take byte count (not word count).Kevin O'Connor1-10/+11
2009-05-13VGA - turn DEBUG printfs into dprintf calls.Kevin O'Connor1-21/+9
2009-05-07Cleanup vga inb/outb port usages.Kevin O'Connor2-30/+32
Use symbolic names for ports. Use VGAREG_ACTL_WRITE_DATA instead of VGAREG_ACTL_ADDRESS when writing a value to the register.
2009-05-06Minor - update vgasrc/vga.c todo list.Kevin O'Connor1-3/+0
2009-05-06Add initial port of the "open source vga bios" project.Kevin O'Connor7-0/+4545
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.