aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--com32/modules/linux.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/com32/modules/linux.c b/com32/modules/linux.c
index c20536f3..90aab68b 100644
--- a/com32/modules/linux.c
+++ b/com32/modules/linux.c
@@ -204,8 +204,22 @@ int main(int argc, char *argv[])
if ((arg = find_argument(argp, "mem=")))
mem_limit = saturate32(suffix_number(arg));
- if ((arg = find_argument(argp, "vga=")))
- video_mode = strtoul(arg, NULL, 0);
+ if ((arg = find_argument(argp, "vga="))) {
+ switch (arg[0] | 0x20) {
+ case 'a': /* "ask" */
+ video_mode = 0xfffd;
+ break;
+ case 'e': /* "ext" */
+ video_mode = 0xfffe;
+ break;
+ case 'n': /* "normal" */
+ video_mode = 0xffff;
+ break;
+ default:
+ video_mode = strtoul(arg, NULL, 0);
+ break;
+ }
+ }
if ((arg = find_argument(argp, "initrd="))) {
do {