No description
Find a file
okuji 18d9c7cd53 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
I forgot to check in these changes for a long time. This adds
	incomplete support for VGA console, and this is still very
	buggy. Also, a lot of consideration is required for I18N,
	UNICODE, and VGA font issues. Therefore, assume that this is
	such that "better than nothing".

	* font/manager.c: New file.
	* include/pupa/font.h: Likewise.
	* include/pupa/i386/pc/vga.h: Likewise.
	* term/i386/pc/vga.c: Likewise.
	* util/unifont2pff.rb: Likewise.

	* conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
	(pkgdata_MODULES): Added vga.mod and font.mod.
	(vga_mod_SOURCES): New variables.
	(vga_mod_CFLAGS): Likewise.
	(font_mod_SOURCES): Likewise.
	(font_mod_CFLAGS): Likewise.

	* include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.

	* include/pupa/term.h: Include pupa/err.h.
	(struct pupa_term): Added init and fini.
	Changed the argument of putchar to pupa_uint32_t.

	* include/pupa/i386/pc/console.h: Include pupa/symbol.h.
	(pupa_console_real_putchar): New prototype.
	(pupa_console_putchar): Removed.
	(pupa_console_checkkey): Exported.
	(pupa_console_getkey): Likewise.

	* kern/misc.c (pupa_vsprintf): Add support for UNICODE
	characters.

	* kern/term.c (pupa_term_set_current): Rewritten.
	(pupa_putchar): Likewise.
	(pupa_putcode): New function.

	* kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
	(pupa_console_real_putchar): ... this.
	(pupa_vga_set_mode): New function.
	(pupa_vga_get_font): Likewise.

	* normal/command.c: Include pupa/term.h.
	(terminal_command): New function.
	(pupa_command_init): Register the command "terminal".

	* normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
	(DISP_UP): Likewise.
	(DISP_RIGHT): Likewise.
	(DISP_DOWN): Likewise.
	(DISP_HLINE): Likewise.
	(DISP_VLINE): Likewise.
	(DISP_UL): Likewise.
	(DISP_UR): Likewise.
	(DISP_LL): Likewise.
	(DISP_LR): Likewise.

	* term/i386/pc/console.c (pupa_console_putchar): New function.
2003-09-25 20:15:53 +00:00
boot/i386/pc 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org> 2003-01-02 20:12:33 +00:00
conf 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org> 2003-09-25 20:15:53 +00:00
disk/i386/pc 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org> 2003-01-02 20:12:33 +00:00
font 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org> 2003-09-25 20:15:53 +00:00
fs 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org> 2003-01-06 00:01:35 +00:00
hello hello module and bug fix of util/resolve.c 2003-02-08 08:15:43 +00:00
include/grub 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org> 2003-09-25 20:15:53 +00:00
kern 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org> 2003-09-25 20:15:53 +00:00
loader/i386/pc 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org> 2003-01-20 04:13:46 +00:00
normal 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org> 2003-09-25 20:15:53 +00:00
term/i386/pc 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org> 2003-09-25 20:15:53 +00:00
util 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org> 2003-09-25 20:15:53 +00:00
.cvsignore Initial revision 2002-12-27 08:53:07 +00:00
aclocal.m4 Initial revision 2002-12-27 08:53:07 +00:00
AUTHORS Initial revision 2002-12-27 08:53:07 +00:00
autogen.sh Initial revision 2002-12-27 08:53:07 +00:00
ChangeLog 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org> 2003-09-25 20:15:53 +00:00
config.guess Initial revision 2002-12-27 08:53:07 +00:00
config.h.in 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org> 2003-01-31 03:26:56 +00:00
config.sub Initial revision 2002-12-27 08:53:07 +00:00
configure 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org> 2003-01-31 03:26:56 +00:00
configure.ac 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org> 2003-01-31 03:26:56 +00:00
COPYING Initial revision 2002-12-27 08:53:07 +00:00
genkernsyms.sh Initial revision 2002-12-27 08:53:07 +00:00
genmk.rb 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org> 2003-01-31 03:26:56 +00:00
genmodsrc.sh Initial revision 2002-12-27 08:53:07 +00:00
gensymlist.sh Initial revision 2002-12-27 08:53:07 +00:00
INSTALL 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org> 2003-01-31 03:26:56 +00:00
install-sh Initial revision 2002-12-27 08:53:07 +00:00
Makefile.in 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org> 2003-01-02 20:12:33 +00:00
mkinstalldirs Initial revision 2002-12-27 08:53:07 +00:00
NEWS 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org> 2003-01-31 03:26:56 +00:00
README Initial revision 2002-12-27 08:53:07 +00:00
stamp-h.in Initial revision 2002-12-27 08:53:07 +00:00
THANKS 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org> 2003-01-31 03:26:56 +00:00
TODO Update TODO. 2003-01-17 05:04:20 +00:00

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This is PUPA, the Preliminary Universal Programming Architecture for
GRUB.  PUPA is a research project for the next generation of GNU GRUB.
The most important goal is to make GNU GRUB cleaner, safer, more robust,
more powerful, and more portable.

See the file NEWS for a description of recent changes to PUPA.

See the file INSTALL for instructions on how to build and install the
PUPA data and program files.

Please visit the official web page of PUPA, for more information.
The URL is <http://www.nongnu.org/pupa/>.



Because PUPA is still in developmental stage, PUPA is not for general
use (yet). For now, you can install PUPA into a floppy by these
instructions:

$ configure && make
$ ./pupa-mkimage -v -d . -o core.img chain fat
$ dd if=boot.img of=/dev/fd0 bs=512 count=1
$ dd if=core.img of=/dev/fd0 bs=512 seek=1

It would be easier to use Bochs <http://bochs.sf.net/> than a real
machine.