home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-06-23 | 46.0 KB | 1,575 lines |
- *** 1.5 1993/04/15 00:31:22
- --- makefile.lcc 1993/05/25 16:59:14
- ***************
- *** 36,44 ****
-
- # add -DMULTITOS for a MultiTOS kernel
- # add -DONLY030 for a version of MiNT that needs a 680x0, x>=3
-
- ! DEFS =
- ! DEFS030 = -DONLY030
-
- SYMS = -Hmint.sym
-
- --- 36,45 ----
-
- # add -DMULTITOS for a MultiTOS kernel
- # add -DONLY030 for a version of MiNT that needs a 680x0, x>=3
- + # add -DDEBUG_INFO for debugging information
-
- ! DEFS = -DDEBUG_INFO
- ! DEFS030 = -DONLY030 -DDEBUG_INFO
-
- SYMS = -Hmint.sym
-
- ***************
- *** 56,62 ****
- COPTS = $(OPTS) $(MODEL) $(ERRORS) $(DEFS)
- CFLAGS = $(COPTS) $(SYMS)
- ASFLAGS = $(ASOPTS) $(DEFS)
- ! CFLAGS030 = $(OPTS) $(MODEL030) $(ERRORS) $(DEFS030)
- ASFLAGS030 = -m3 $(ASOPTS) $(DEFS030)
-
- LDFLAGS = -t=
- --- 57,64 ----
- COPTS = $(OPTS) $(MODEL) $(ERRORS) $(DEFS)
- CFLAGS = $(COPTS) $(SYMS)
- ASFLAGS = $(ASOPTS) $(DEFS)
- ! COPTS030 = $(OPTS) $(MODEL030) $(ERRORS) $(DEFS030)
- ! CFLAGS030 = $(COPTS030) $(SYMS)
- ASFLAGS030 = -m3 $(ASOPTS) $(DEFS030)
-
- LDFLAGS = -t=
- *** 1.5 1993/04/15 00:31:22
- --- asm.y 1993/05/25 16:40:10
- ***************
- *** 73,78 ****
- --- 73,90 ----
- free($1); free($3); free($5); }
- | basic '{' basic ':' basic '}' {$$ = bitfield($1, $3, $5);
- free($1); free($3); free($5); }
- + | '(' '[' basic ',' basic ']' ',' basic ',' basic ')'
- + { $$=postindex($3,$5,$8,$10);
- + free($3); free($5); free($8); free($10); }
- + | '(' '[' basic ',' basic ',' basic ']' ',' basic ')'
- + { $$=preindex($3,$5,$7,$10);
- + free($3); free($5); free($7); free($10); }
- + | '(' '[' basic ']' ')'
- + { $$=postindex0($3);
- + free($3); }
- + | '(' '[' basic ']' ',' basic ')'
- + { $$=postindex1($3,$6);
- + free($3); free($6); }
- ;
-
- basic: basexpr { $$ = $1; }
- *** 1.5 1993/04/15 00:31:22
- --- asmtab.c 1993/05/25 17:16:14
- ***************
- *** 47,71 ****
-
-
-
- ! #define YYFINAL 87
- #define YYFLAG -32768
- ! #define YYNTBASE 25
-
- ! #define YYTRANSLATE(x) ((unsigned)(x) <= 267 ? yytranslate[x] : 35)
-
- static const char yytranslate[] = { 0,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- ! 2, 2, 2, 2, 15, 22, 2, 2, 2, 16,
- ! 17, 23, 18, 13, 19, 2, 24, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 14, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 20, 2, 21, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- --- 47,71 ----
-
-
-
- ! #define YYFINAL 108
- #define YYFLAG -32768
- ! #define YYNTBASE 27
-
- ! #define YYTRANSLATE(x) ((unsigned)(x) <= 267 ? yytranslate[x] : 37)
-
- static const char yytranslate[] = { 0,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- ! 2, 2, 2, 2, 15, 24, 2, 2, 2, 16,
- ! 17, 25, 18, 13, 19, 2, 26, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 14, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- + 22, 2, 23, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 20, 2, 21, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- ***************
- *** 88,114 ****
- 0, 1, 4, 6, 9, 12, 16, 21, 26, 33,
- 40, 45, 50, 53, 56, 59, 64, 68, 74, 76,
- 80, 82, 85, 87, 90, 94, 99, 104, 109, 114,
- ! 121, 128, 130, 134, 137, 139, 142, 144, 146, 148
- };
-
- #endif
-
- static const short yyrhs[] = { -1,
- ! 25, 26, 0, 5, 0, 30, 5, 0, 27, 5,
- ! 0, 30, 27, 5, 0, 8, 4, 6, 5, 0,
- 8, 4, 3, 5, 0, 7, 4, 3, 4, 6,
- ! 5, 0, 7, 4, 3, 4, 31, 5, 0, 9,
- 4, 3, 5, 0, 10, 4, 3, 5, 0, 11,
- ! 5, 0, 12, 5, 0, 4, 29, 0, 4, 29,
- ! 4, 28, 0, 3, 4, 29, 0, 3, 4, 29,
- ! 4, 28, 0, 31, 0, 31, 13, 28, 0, 3,
- ! 0, 3, 14, 0, 32, 0, 15, 32, 0, 16,
- ! 32, 17, 0, 16, 32, 17, 18, 0, 19, 16,
- ! 32, 17, 0, 32, 16, 32, 17, 0, 16, 32,
- ! 17, 3, 0, 32, 16, 32, 13, 32, 17, 0,
- ! 32, 20, 32, 14, 32, 21, 0, 33, 0, 33,
- ! 34, 32, 0, 19, 32, 0, 3, 0, 22, 3,
- ! 0, 18, 0, 19, 0, 23, 0, 24, 0
- };
-
- #if YYDEBUG != 0
- --- 88,119 ----
- 0, 1, 4, 6, 9, 12, 16, 21, 26, 33,
- 40, 45, 50, 53, 56, 59, 64, 68, 74, 76,
- 80, 82, 85, 87, 90, 94, 99, 104, 109, 114,
- ! 121, 128, 140, 152, 158, 166, 168, 172, 175, 177,
- ! 180, 182, 184, 186
- };
-
- #endif
-
- static const short yyrhs[] = { -1,
- ! 27, 28, 0, 5, 0, 32, 5, 0, 29, 5,
- ! 0, 32, 29, 5, 0, 8, 4, 6, 5, 0,
- 8, 4, 3, 5, 0, 7, 4, 3, 4, 6,
- ! 5, 0, 7, 4, 3, 4, 33, 5, 0, 9,
- 4, 3, 5, 0, 10, 4, 3, 5, 0, 11,
- ! 5, 0, 12, 5, 0, 4, 31, 0, 4, 31,
- ! 4, 30, 0, 3, 4, 31, 0, 3, 4, 31,
- ! 4, 30, 0, 33, 0, 33, 13, 30, 0, 3,
- ! 0, 3, 14, 0, 34, 0, 15, 34, 0, 16,
- ! 34, 17, 0, 16, 34, 17, 18, 0, 19, 16,
- ! 34, 17, 0, 34, 16, 34, 17, 0, 16, 34,
- ! 17, 3, 0, 34, 16, 34, 13, 34, 17, 0,
- ! 34, 20, 34, 14, 34, 21, 0, 16, 22, 34,
- ! 13, 34, 23, 13, 34, 13, 34, 17, 0, 16,
- ! 22, 34, 13, 34, 13, 34, 23, 13, 34, 17,
- ! 0, 16, 22, 34, 23, 17, 0, 16, 22, 34,
- ! 23, 13, 34, 17, 0, 35, 0, 35, 36, 34,
- ! 0, 19, 34, 0, 3, 0, 24, 3, 0, 18,
- ! 0, 19, 0, 25, 0, 26, 0
- };
-
- #if YYDEBUG != 0
- ***************
- *** 116,136 ****
- 22, 23, 26, 29, 30, 31, 33, 34, 35, 37,
- 39, 40, 41, 42, 45, 46, 49, 50, 55, 56,
- 60, 63, 65, 66, 67, 68, 69, 70, 71, 72,
- ! 74, 78, 79, 80, 82, 83, 86, 87, 88, 89
- };
-
- static const char * const yytname[] = { "$","error","$illegal.","WORD","WHITESP",
- "EOLN","STRING","DEFINECMD","INCLUDECMD","IFDEFCMD","IFNDEFCMD","ELSECMD","ENDIFCMD",
- ! "','","':'","'#'","'('","')'","'+'","'-'","'{'","'}'","'$'","'*'","'/'","input",
- ! "line","opline","ops","opcode","label","operand","basic","basexpr","op",""
- };
- #endif
-
- static const short yyr1[] = { 0,
- ! 25, 25, 26, 26, 26, 26, 26, 26, 26, 26,
- ! 26, 26, 26, 26, 27, 27, 27, 27, 28, 28,
- ! 29, 30, 31, 31, 31, 31, 31, 31, 31, 31,
- ! 31, 32, 32, 32, 33, 33, 34, 34, 34, 34
- };
-
- static const short yyr2[] = { 0,
- --- 121,144 ----
- 22, 23, 26, 29, 30, 31, 33, 34, 35, 37,
- 39, 40, 41, 42, 45, 46, 49, 50, 55, 56,
- 60, 63, 65, 66, 67, 68, 69, 70, 71, 72,
- ! 74, 76, 79, 82, 85, 90, 91, 92, 94, 95,
- ! 98, 99, 100, 101
- };
-
- static const char * const yytname[] = { "$","error","$illegal.","WORD","WHITESP",
- "EOLN","STRING","DEFINECMD","INCLUDECMD","IFDEFCMD","IFNDEFCMD","ELSECMD","ENDIFCMD",
- ! "','","':'","'#'","'('","')'","'+'","'-'","'{'","'}'","'['","']'","'$'","'*'",
- ! "'/'","input","line","opline","ops","opcode","label","operand","basic","basexpr",
- ! "op",""
- };
- #endif
-
- static const short yyr1[] = { 0,
- ! 27, 27, 28, 28, 28, 28, 28, 28, 28, 28,
- ! 28, 28, 28, 28, 29, 29, 29, 29, 30, 30,
- ! 31, 32, 33, 33, 33, 33, 33, 33, 33, 33,
- ! 33, 33, 33, 33, 33, 34, 34, 34, 35, 35,
- ! 36, 36, 36, 36
- };
-
- static const short yyr2[] = { 0,
- ***************
- *** 137,143 ****
- 0, 2, 1, 2, 2, 3, 4, 4, 6, 6,
- 4, 4, 2, 2, 2, 4, 3, 5, 1, 3,
- 1, 2, 1, 2, 3, 4, 4, 4, 4, 6,
- ! 6, 1, 3, 2, 1, 2, 1, 1, 1, 1
- };
-
- static const short yydefact[] = { 1,
- --- 145,152 ----
- 0, 2, 1, 2, 2, 3, 4, 4, 6, 6,
- 4, 4, 2, 2, 2, 4, 3, 5, 1, 3,
- 1, 2, 1, 2, 3, 4, 4, 4, 4, 6,
- ! 6, 11, 11, 5, 7, 1, 3, 2, 1, 2,
- ! 1, 1, 1, 1
- };
-
- static const short yydefact[] = { 1,
- ***************
- *** 144,207 ****
- 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 22, 21, 15, 0, 0, 0,
- 0, 13, 14, 5, 0, 4, 0, 17, 0, 0,
- ! 0, 0, 0, 0, 6, 0, 35, 0, 0, 0,
- ! 0, 16, 19, 23, 32, 0, 8, 7, 11, 12,
- ! 18, 0, 24, 0, 0, 34, 36, 0, 0, 0,
- ! 37, 38, 39, 40, 0, 0, 0, 25, 0, 20,
- ! 0, 0, 33, 9, 10, 29, 26, 27, 0, 28,
- ! 0, 0, 0, 30, 31, 0, 0
- };
-
- static const short yydefgoto[] = { 1,
- ! 11, 12, 42, 17, 13, 43, 44, 45, 65
- };
-
- static const short yypact[] = {-32768,
- ! 47, 1, 3,-32768, 44, 49, 56, 57, 58, 59,
- ! -32768, 60, 8, 3,-32768,-32768, 62, 64, 30, 65,
- ! 66,-32768,-32768,-32768, 67,-32768, 68, 70, 13, 71,
- ! 72, 73, 74, 75,-32768, 13,-32768, 27, 27, 15,
- ! 69,-32768, 63, -12, 21, 4,-32768,-32768,-32768,-32768,
- ! -32768, 27,-32768, 45, 27,-32768,-32768, 13, 27, 27,
- ! -32768,-32768,-32768,-32768, 27, 76, 77, 6, 53,-32768,
- ! 25, 78,-32768,-32768,-32768,-32768,-32768,-32768, 27,-32768,
- ! 27, 79, 80,-32768,-32768, 83,-32768
- };
-
- static const short yypgoto[] = {-32768,
- ! -32768, 81, -33, 84,-32768, 38, -38,-32768,-32768
- };
-
-
- ! #define YYLAST 101
-
-
- static const short yytable[] = { 53,
- ! 54, 56, 51, 59, 14, 16, 37, 60, 76, 66,
- ! 25, 3, 26, 56, 15, 37, 69, 37, 38, 39,
- ! 71, 72, 40, 77, 70, 41, 73, 38, 39, 37,
- ! 55, 40, 31, 52, 41, 32, 41, 79, 61, 62,
- ! 82, 80, 83, 63, 64, 52, 86, 18, 41, 2,
- ! 3, 4, 19, 5, 6, 7, 8, 9, 10, 20,
- ! 21, 68, 22, 23, 24, 29, 30, 33, 34, 78,
- ! 14, 57, 35, 36, 46, 58, 47, 48, 49, 50,
- ! 74, 75, 87, 67, 0, 0, 0, 0, 0, 0,
- ! 0, 81, 0, 27, 0, 84, 0, 28, 0, 0,
- ! 85
- };
-
- static const short yycheck[] = { 38,
- ! 39, 40, 36, 16, 4, 3, 3, 20, 3, 6,
- ! 3, 4, 5, 52, 14, 3, 55, 3, 15, 16,
- ! 59, 60, 19, 18, 58, 22, 65, 15, 16, 3,
- ! 16, 19, 3, 19, 22, 6, 22, 13, 18, 19,
- ! 79, 17, 81, 23, 24, 19, 0, 4, 22, 3,
- ! 4, 5, 4, 7, 8, 9, 10, 11, 12, 4,
- ! 4, 17, 5, 5, 5, 4, 3, 3, 3, 17,
- ! 4, 3, 5, 4, 4, 13, 5, 5, 5, 5,
- ! 5, 5, 0, 46, -1, -1, -1, -1, -1, -1,
- ! -1, 14, -1, 13, -1, 17, -1, 14, -1, -1,
- ! 21
- };
- /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
- #line 3 "bison.simple"
- --- 153,222 ----
- 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 22, 21, 15, 0, 0, 0,
- 0, 13, 14, 5, 0, 4, 0, 17, 0, 0,
- ! 0, 0, 0, 0, 6, 0, 39, 0, 0, 0,
- ! 0, 16, 19, 23, 36, 0, 8, 7, 11, 12,
- ! 18, 0, 24, 0, 0, 0, 38, 40, 0, 0,
- ! 0, 41, 42, 43, 44, 0, 0, 0, 0, 25,
- ! 0, 20, 0, 0, 37, 9, 10, 0, 0, 29,
- ! 26, 27, 0, 28, 0, 0, 0, 34, 0, 0,
- ! 0, 0, 0, 30, 31, 0, 0, 35, 0, 0,
- ! 0, 0, 0, 0, 33, 32, 0, 0
- };
-
- static const short yydefgoto[] = { 1,
- ! 11, 12, 42, 17, 13, 43, 44, 45, 66
- };
-
- static const short yypact[] = {-32768,
- ! 62, 3, 6,-32768, 40, 48, 54, 64, 70, 76,
- ! -32768, 77, 74, 6,-32768,-32768, 79, 7, 24, 81,
- ! 82,-32768,-32768,-32768, 83,-32768, 84, 86, 22, 87,
- ! 88, 89, 90, 91,-32768, 22,-32768, 36, 12, 32,
- ! 85,-32768, 73, 34, -13, 5,-32768,-32768,-32768,-32768,
- ! -32768, 36,-32768, 36, 75, 36,-32768,-32768, 22, 36,
- ! 36,-32768,-32768,-32768,-32768, 36, 92, 93, 19, 1,
- ! 94,-32768, 44, 95,-32768,-32768,-32768, 36, 63,-32768,
- ! -32768,-32768, 36,-32768, 36, 20, 36,-32768, 96, 78,
- ! 36, 97, 98,-32768,-32768, 80, 36,-32768, 99, 101,
- ! 36, 36, 100, 102,-32768,-32768, 104,-32768
- };
-
- static const short yypgoto[] = {-32768,
- ! -32768, 103, -33, 106,-32768, 55, -38,-32768,-32768
- };
-
-
- ! #define YYLAST 120
-
-
- static const short yytable[] = { 53,
- ! 55, 57, 51, 80, 62, 63, 14, 37, 16, 30,
- ! 67, 64, 65, 57, 37, 69, 15, 71, 81, 38,
- ! 39, 73, 74, 40, 37, 72, 31, 75, 41, 32,
- ! 52, 78, 91, 54, 37, 41, 38, 39, 37, 86,
- ! 40, 79, 92, 18, 89, 41, 90, 56, 93, 60,
- ! 52, 19, 96, 61, 52, 41, 83, 20, 100, 41,
- ! 84, 107, 103, 104, 2, 3, 4, 21, 5, 6,
- ! 7, 8, 9, 10, 22, 87, 25, 3, 26, 88,
- ! 23, 24, 29, 33, 34, 59, 14, 58, 35, 36,
- ! 46, 70, 47, 48, 49, 50, 76, 77, 95, 0,
- ! 68, 0, 99, 108, 0, 0, 0, 0, 85, 97,
- ! 82, 101, 94, 102, 98, 27, 105, 0, 106, 28
- };
-
- static const short yycheck[] = { 38,
- ! 39, 40, 36, 3, 18, 19, 4, 3, 3, 3,
- ! 6, 25, 26, 52, 3, 54, 14, 56, 18, 15,
- ! 16, 60, 61, 19, 3, 59, 3, 66, 24, 6,
- ! 19, 13, 13, 22, 3, 24, 15, 16, 3, 78,
- ! 19, 23, 23, 4, 83, 24, 85, 16, 87, 16,
- ! 19, 4, 91, 20, 19, 24, 13, 4, 97, 24,
- ! 17, 0, 101, 102, 3, 4, 5, 4, 7, 8,
- ! 9, 10, 11, 12, 5, 13, 3, 4, 5, 17,
- ! 5, 5, 4, 3, 3, 13, 4, 3, 5, 4,
- ! 4, 17, 5, 5, 5, 5, 5, 5, 21, -1,
- ! 46, -1, 23, 0, -1, -1, -1, -1, 14, 13,
- ! 17, 13, 17, 13, 17, 13, 17, -1, 17, 14
- };
- /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
- #line 3 "bison.simple"
- ***************
- *** 770,808 ****
- free(yyvsp[-5]); free(yyvsp[-3]); free(yyvsp[-1]); ;
- break;}
- case 32:
- ! #line 78 "asm.y"
- ! { yyval = yyvsp[0]; ;
- break;}
- case 33:
- ! #line 79 "asm.y"
- ! { yyval = concat3(yyvsp[-2], yyvsp[-1], yyvsp[0]); free(yyvsp[-2]); free(yyvsp[-1]); free(yyvsp[0]); ;
- break;}
- case 34:
- ! #line 80 "asm.y"
- ! { yyval = concat("-", yyvsp[0]); free(yyvsp[0]); ;
- break;}
- case 35:
- ! #line 82 "asm.y"
- ! {yyval = wordlookup(yyvsp[0]); free(yyvsp[0]); ;
- break;}
- case 36:
- ! #line 83 "asm.y"
- ! {yyval = hexop(yyvsp[0]); free(yyvsp[0]);;
- break;}
- case 37:
- ! #line 86 "asm.y"
- ! { yyval = strdup("+"); ;
- break;}
- case 38:
- ! #line 87 "asm.y"
- ! { yyval = strdup("-"); ;
- break;}
- case 39:
- ! #line 88 "asm.y"
- ! { yyval = strdup("*"); ;
- break;}
- case 40:
- ! #line 89 "asm.y"
- { yyval = strdup("/"); ;
- break;}
- }
- --- 785,843 ----
- free(yyvsp[-5]); free(yyvsp[-3]); free(yyvsp[-1]); ;
- break;}
- case 32:
- ! #line 77 "asm.y"
- ! { yyval=postindex(yyvsp[-8],yyvsp[-6],yyvsp[-3],yyvsp[-1]);
- ! free(yyvsp[-8]); free(yyvsp[-6]); free(yyvsp[-3]); free(yyvsp[-1]); ;
- break;}
- case 33:
- ! #line 80 "asm.y"
- ! { yyval=preindex(yyvsp[-8],yyvsp[-6],yyvsp[-4],yyvsp[-1]);
- ! free(yyvsp[-8]); free(yyvsp[-6]); free(yyvsp[-4]); free(yyvsp[-1]); ;
- break;}
- case 34:
- ! #line 83 "asm.y"
- ! { yyval=postindex0(yyvsp[-2]);
- ! free(yyvsp[-2]); ;
- break;}
- case 35:
- ! #line 86 "asm.y"
- ! { yyval=postindex1(yyvsp[-4],yyvsp[-1]);
- ! free(yyvsp[-4]); free(yyvsp[-1]); ;
- break;}
- case 36:
- ! #line 90 "asm.y"
- ! { yyval = yyvsp[0]; ;
- break;}
- case 37:
- ! #line 91 "asm.y"
- ! { yyval = concat3(yyvsp[-2], yyvsp[-1], yyvsp[0]); free(yyvsp[-2]); free(yyvsp[-1]); free(yyvsp[0]); ;
- break;}
- case 38:
- ! #line 92 "asm.y"
- ! { yyval = concat("-", yyvsp[0]); free(yyvsp[0]); ;
- break;}
- case 39:
- ! #line 94 "asm.y"
- ! {yyval = wordlookup(yyvsp[0]); free(yyvsp[0]); ;
- break;}
- case 40:
- ! #line 95 "asm.y"
- ! {yyval = hexop(yyvsp[0]); free(yyvsp[0]);;
- ! break;}
- ! case 41:
- ! #line 98 "asm.y"
- ! { yyval = strdup("+"); ;
- ! break;}
- ! case 42:
- ! #line 99 "asm.y"
- ! { yyval = strdup("-"); ;
- ! break;}
- ! case 43:
- ! #line 100 "asm.y"
- ! { yyval = strdup("*"); ;
- ! break;}
- ! case 44:
- ! #line 101 "asm.y"
- { yyval = strdup("/"); ;
- break;}
- }
- ***************
- *** 1000,1006 ****
- yystate = yyn;
- goto yynewstate;
- }
- ! #line 91 "asm.y"
-
- #include <setjmp.h>
-
- --- 1035,1041 ----
- yystate = yyn;
- goto yynewstate;
- }
- ! #line 103 "asm.y"
-
- #include <setjmp.h>
-
- *** 1.5 1993/04/15 00:31:22
- --- asmtrans.h 1993/05/25 16:40:12
- ***************
- *** 36,41 ****
- --- 36,43 ----
- char *concat4 P_((char *, char *, char *, char *));
- char *concat5 P_((char *,char *, char *, char *, char *));
- char *concat6 P_((char *,char *,char *, char *, char *, char *));
- + char *concat8 P_((char *,char *,char *, char *, char *, char *, char *, char *));
- + char *concat9 P_((char *,char *,char *, char *, char *, char *, char *, char *, char *));
- void do_define P_((char *, char *));
- void do_ifdef P_((char *));
- void do_ifndef P_((char *));
- ***************
- *** 47,52 ****
- --- 49,55 ----
-
- char *wordlookup P_((char *));
- char *changesiz P_((char *));
- + char *changesiz2 P_((char *));
- char *fixupword P_((char *));
- void emit P_((char *));
-
- ***************
- *** 57,63 ****
- char *indexed P_((char *, char *));
- char *sizedop P_((char *, char *));
- char *twoindex P_((char *, char *, char *));
- ! char *bitfield P_((char *, char *, char *));
- char *do_ops P_((char *, char *, char *, char *));
- char *hexop P_((char *));
-
- --- 60,70 ----
- char *indexed P_((char *, char *));
- char *sizedop P_((char *, char *));
- char *twoindex P_((char *, char *, char *));
- ! char *postindex P_((char *, char *, char *, char *));
- ! char *postindex0 P_((char *));
- ! char *postindex1 P_((char *, char *));
- ! char *preindex P_((char *, char *, char *, char *));
- ! char *bitfield P_((char *, char *, char *));
- char *do_ops P_((char *, char *, char *, char *));
- char *hexop P_((char *));
-
- *** 1.5 1993/04/15 00:31:22
- --- bios.c 1993/06/23 16:44:08
- ***************
- *** 59,74 ****
- #define xconout ((long *)0x57eL)
-
- #define BCOSTAT(dev) \
- ! ((tosvers >= 0x0102 && (unsigned)dev <= 4) ? \
- (int)callout1(xcostat[dev], dev) : Bcostat(dev))
- #define BCONOUT(dev, c) \
- ! ((tosvers >= 0x0102 && (unsigned)dev <= 4) ? \
- callout2(xconout[dev], dev, c) : Bconout(dev, c))
- #define BCONSTAT(dev) \
- ! ((tosvers >= 0x0102 && (unsigned)dev <= 4) ? \
- (int)callout1(xconstat[dev], dev) : Bconstat(dev))
- #define BCONIN(dev) \
- ! ((tosvers >= 0x0102 && (unsigned)dev <= 4) ? \
- callout1(xconin[dev], dev) : Bconin(dev))
- #else
- #define BCOSTAT(dev) Bcostat(dev)
- --- 59,74 ----
- #define xconout ((long *)0x57eL)
-
- #define BCOSTAT(dev) \
- ! ((tosvers > 0x0102 && (unsigned)dev <= 4) ? \
- (int)callout1(xcostat[dev], dev) : Bcostat(dev))
- #define BCONOUT(dev, c) \
- ! ((tosvers > 0x0102 && (unsigned)dev <= 4) ? \
- callout2(xconout[dev], dev, c) : Bconout(dev, c))
- #define BCONSTAT(dev) \
- ! ((tosvers > 0x0102 && (unsigned)dev <= 4) ? \
- (int)callout1(xconstat[dev], dev) : Bconstat(dev))
- #define BCONIN(dev) \
- ! ((tosvers > 0x0102 && (unsigned)dev <= 4) ? \
- callout1(xconin[dev], dev) : Bconin(dev))
- #else
- #define BCOSTAT(dev) Bcostat(dev)
- ***************
- *** 409,415 ****
- /* we can't trust the Getbpb routine to accurately save all registers,
- * so we do it ourselves
- */
- ! r = callout(GETBPB, dev);
- /*
- * There is a bug in the TOS disk handling routines (well several actually).
- * If the directory size of Getbpb() is returned as zero then the drive 'dies'
- --- 409,415 ----
- /* we can't trust the Getbpb routine to accurately save all registers,
- * so we do it ourselves
- */
- ! r = callout1(GETBPB, dev);
- /*
- * There is a bug in the TOS disk handling routines (well several actually).
- * If the directory size of Getbpb() is returned as zero then the drive 'dies'
- *** 1.5 1993/04/15 00:31:22
- --- biosfs.c 1993/04/28 18:22:58
- ***************
- *** 1046,1058 ****
- ws->ws_col = *((short *)(aline - 44)) + 1;
- } else if (mode == TIOCIBAUD || mode == TIOCOBAUD) {
- long oldbaud, newbaud;
- dev = f->fc.aux;
-
- newbaud = *r;
- if (dev == 1 || dev >= 6) {
- if (has_bconmap)
- ! mapin((dev == 1) ? curproc->bconmap : dev);
- i = (int)rsconf(-2, -1, -1, -1, -1, -1);
- if (i < 0 || i >= MAXBAUD)
- oldbaud = -1L;
- else
- --- 1046,1064 ----
- ws->ws_col = *((short *)(aline - 44)) + 1;
- } else if (mode == TIOCIBAUD || mode == TIOCOBAUD) {
- long oldbaud, newbaud;
- + int oldmap;
- +
- dev = f->fc.aux;
-
- newbaud = *r;
- if (dev == 1 || dev >= 6) {
- + /* trick rsconf into setting the correct port (it uses curproc->bconmap) */
- + oldmap = curproc->bconmap;
- if (has_bconmap)
- ! curproc->bconmap =
- ! (dev == 1) ? curproc->bconmap : dev;
- i = (int)rsconf(-2, -1, -1, -1, -1, -1);
- +
- if (i < 0 || i >= MAXBAUD)
- oldbaud = -1L;
- else
- ***************
- *** 1066,1077 ****
- --- 1072,1086 ----
- for (i = 0; i < MAXBAUD; i++) {
- if (baudmap[i] == newbaud) {
- rsconf(i, -1, -1, -1, -1, -1);
- + curproc->bconmap = oldmap;
- return 0;
- } else if (baudmap[i] < newbaud) {
- *r = baudmap[i];
- + curproc->bconmap = oldmap;
- break;
- }
- }
- + curproc->bconmap = oldmap;
- return ERANGE;
- } else if (newbaud == 0L) {
- /* BUG: drop DTR: works only on modem1 */
- ***************
- *** 1079,1084 ****
- --- 1088,1094 ----
- Ongibit(0x10);
- }
- }
- + curproc->bconmap = oldmap;
- return 0;
- } else if (dev == 2 || dev == 5) {
- /* screen: assume 9600 baud */
- *** 1.5 1993/04/15 00:31:22
- --- debug.c 1993/06/10 18:37:04
- ***************
- *** 517,522 ****
- --- 517,531 ----
- }
-
-
- + static char *rebootmsg[MAXLANG] = {
- + "FATAL ERROR. You must reboot the system.\r\n",
- + "FATAL ERROR. You must reboot the system.\r\n", /* German */
- + "FATAL ERROR. You must reboot the system.\r\n", /* French */
- + "FATAL ERROR. You must reboot the system.\r\n", /* UK */
- + "FATAL ERROR. You must reboot the system.\r\n", /* Spanish */
- + "FATAL ERROR. You must reboot the system.\r\n" /* Italian */
- + };
- +
- EXITING
- void HALT()
- {
- ***************
- *** 528,534 ****
- --- 537,547 ----
- extern EXITING _exit P_((int));
- #endif
- restr_intr(); /* restore interrupts to normal */
- + #ifdef DEBUG_INFO
- debug_ws("Fatal MiNT error: adjust debug level and hit a key...\r\n");
- + #else
- + debug_ws(rebootmsg[gl_lang]);
- + #endif
- sys_q[READY_Q] = 0; /* prevent context switches */
-
- for(;;) {
- ***************
- *** 543,549 ****
- }
- }
- for(;;) {
- ! debug_ws("System halted. Press 'x' to exit, or else reboot\r\n");
- r = Bconin(2);
-
- if ( (r & 0x0ff) == 'x' ) {
- --- 556,562 ----
- }
- }
- for(;;) {
- ! debug_ws(rebootmsg[gl_lang]);
- r = Bconin(2);
-
- if ( (r & 0x0ff) == 'x' ) {
- *** 1.5 1993/04/15 00:31:22
- --- dosfile.c 1993/04/28 18:06:22
- ***************
- *** 1,6 ****
- /*
- Copyright 1990,1991,1992 Eric R. Smith.
- ! Copyright 1992 Atari Corporation.
- All rights reserved.
- */
-
- --- 1,6 ----
- /*
- Copyright 1990,1991,1992 Eric R. Smith.
- ! Copyright 1992,1993 Atari Corporation.
- All rights reserved.
- */
-
- ***************
- *** 688,694 ****
- if (!tty->pgrp)
- tty->pgrp = curproc->pgrp;
- }
- ! return newh;
- }
-
- long ARGS_ON_STACK
- --- 688,694 ----
- if (!tty->pgrp)
- tty->pgrp = curproc->pgrp;
- }
- ! return 0;
- }
-
- long ARGS_ON_STACK
- ***************
- *** 986,992 ****
- mask = 1L;
- for (i = 0; i < MAX_OPEN; i++) {
- if ( ((rfd & mask) || (wfd & mask)) && !(p->handle[i]) ) {
- ! DEBUG(("Fselect: invalid handle"));
- return EIHNDL;
- }
- mask = mask << 1L;
- --- 986,992 ----
- mask = 1L;
- for (i = 0; i < MAX_OPEN; i++) {
- if ( ((rfd & mask) || (wfd & mask)) && !(p->handle[i]) ) {
- ! DEBUG(("Fselect: invalid handle: %d", i));
- return EIHNDL;
- }
- mask = mask << 1L;
- *** 1.5 1993/04/15 00:31:22
- --- dosmem.c 1993/06/22 16:54:58
- ***************
- *** 337,342 ****
- --- 337,343 ----
- /* fall through */
- case 4:
- mkwait = mkgo = 1;
- + thread = (mode == 4);
- tfmt = "Pexec(%d,%lx,BP:%lx,%lx)";
- tail_offs = 0;
- break;
- ***************
- *** 439,447 ****
- --- 440,462 ----
- else
- env = 0;
- if (!env) {
- + DEBUG(("Pexec: memory not owned by parent"));
- if (p) dispose_proc(p);
- return EIMBA;
- }
- + #if 0
- + /* make sure that the PC we are about to use is in a region which is
- + * attached to the process; this is most commonly a problem for
- + * shared text segment programs.
- + * BUG: we should verify that the PC is in a region to which the
- + * child process should legitimately have access.
- + */
- + text = addr2region(((BASEPAGE *)base->loc)->p_tbase);
- + if (text == base) {
- + /* text segment is part of base region */
- + text = NULL;
- + }
- + #endif
- }
-
- /* make a local copy of the name, in case we are overlaying the current
- *** 1.5 1993/04/15 00:31:22
- --- file.h 1993/06/10 20:25:32
- ***************
- *** 1,6 ****
- /*
- Copyright 1991,1992 Eric R. Smith.
- ! Copyright 1992 Atari Corporation.
- All rights reserved.
- */
-
- --- 1,6 ----
- /*
- Copyright 1991,1992 Eric R. Smith.
- ! Copyright 1992,1993 Atari Corporation.
- All rights reserved.
- */
-
- ***************
- *** 9,14 ****
- --- 9,15 ----
-
- struct filesys; /* forward declaration */
- struct devdrv; /* ditto */
- + struct timeout; /* and ditto */
-
- typedef struct f_cookie {
- struct filesys *fs; /* filesystem that knows about this cookie */
- ***************
- *** 237,246 ****
-
- /* file system utility functions */
- int ARGS_ON_STACK (*denyshare) P_((FILEPTR *, FILEPTR *));
-
- /* reserved for future use */
- ! LOCK * ARGS_ON_STACK (*denylock) P_((LOCK *, LOCK *));
- ! long res2[9];
- };
-
- /* flags for open() modes */
- --- 238,251 ----
-
- /* file system utility functions */
- int ARGS_ON_STACK (*denyshare) P_((FILEPTR *, FILEPTR *));
- + LOCK * ARGS_ON_STACK (*denylock) P_((LOCK *, LOCK *));
-
- + /* functions for adding/cancelling timeouts */
- + struct timeout * ARGS_ON_STACK (*addtimeout) P_((long, void (*)()));
- + void ARGS_ON_STACK (*canceltimeout) P_((struct timeout *));
- +
- /* reserved for future use */
- ! long res2[7];
- };
-
- /* flags for open() modes */
- *** 1.5 1993/04/15 00:31:22
- --- filesys.c 1993/06/17 22:56:00
- ***************
- *** 1,6 ****
- /*
- Copyright 1990,1991,1992 Eric R. Smith.
- ! Copyright 1992 Atari Corp.
- All rights reserved.
- */
-
- --- 1,6 ----
- /*
- Copyright 1990,1991,1992 Eric R. Smith.
- ! Copyright 1992,1993 Atari Corp.
- All rights reserved.
- */
-
- ***************
- *** 335,341 ****
- * check for media change: if the drive has changed, call changedrv to
- * invalidate any open files and file handles associated with it, and
- * call the file system's media change routine.
- ! * returns: 0 if no change, 1 if change
- */
-
- int
- --- 335,341 ----
- * check for media change: if the drive has changed, call changedrv to
- * invalidate any open files and file handles associated with it, and
- * call the file system's media change routine.
- ! * returns: 0 if no change, 1 if change, negative number for error
- */
-
- int
- ***************
- *** 371,381 ****
- * PROBLEM: AHDI may get upset if the drive isn't valid.
- * SOLUTION: don't change the default PSEUDODRIVES setting!
- */
- ! r = mediach(d);
- if (r == 1) { /* drive _may_ have changed */
- r = rwabs(0, tmpbuf, 1, 0, d, 0L); /* check the BIOS */
- if (r != E_CHNG) { /* nope, no change */
- ! return 0;
- }
- r = 2; /* drive was definitely changed */
- }
- --- 371,386 ----
- * PROBLEM: AHDI may get upset if the drive isn't valid.
- * SOLUTION: don't change the default PSEUDODRIVES setting!
- */
- !
- ! TRACE(("calling mediach(%d)",d));
- ! r = (int)mediach(d);
- ! TRACE(("mediach(%d) == %ld", d, r));
- !
- ! if (r < 0) return r;
- if (r == 1) { /* drive _may_ have changed */
- r = rwabs(0, tmpbuf, 1, 0, d, 0L); /* check the BIOS */
- if (r != E_CHNG) { /* nope, no change */
- ! return (r < 0) ? r : 0;
- }
- r = 2; /* drive was definitely changed */
- }
- ***************
- *** 522,531 ****
- * path2cookie will restart the search automatically; other functions
- * that call relpath2cookie directly will have to fail gracefully
- */
- ! if (disk_changed(dir.dev)) {
- release_cookie(&dir);
- ! PATH2COOKIE_DB(("relpath2cookie: returning %d", E_CHNG));
- ! return E_CHNG;
- }
-
-
- --- 527,537 ----
- * path2cookie will restart the search automatically; other functions
- * that call relpath2cookie directly will have to fail gracefully
- */
- ! if ((r = disk_changed(dir.dev)) != 0) {
- release_cookie(&dir);
- ! if (r > 0) r = E_CHNG;
- ! PATH2COOKIE_DB(("relpath2cookie: returning %d", r));
- ! return r;
- }
-
-
- *** 1.5 1993/04/15 00:31:22
- --- main.c 1993/06/16 17:29:22
- ***************
- *** 192,198 ****
- strnicmp, stricmp, strlwr, strupr, ksprintf,
- ms_time, unixtim, dostim,
- nap, sleep, wake, wakeselect,
- ! denyshare, denylock
- };
-
- /* table of processor frame sizes in _words_ (not used on MC68000) */
- --- 192,198 ----
- strnicmp, stricmp, strlwr, strupr, ksprintf,
- ms_time, unixtim, dostim,
- nap, sleep, wake, wakeselect,
- ! denyshare, denylock, addtimeout, canceltimeout
- };
-
- /* table of processor frame sizes in _words_ (not used on MC68000) */
- ***************
- *** 1085,1090 ****
- --- 1085,1093 ----
- }
- }
-
- +
- + if (gl_lang >= MAXLANG || gl_lang < 0)
- + gl_lang = 0;
- return 0L;
- }
-
- ***************
- *** 1094,1100 ****
- * # anything -- comment
- * INIT=file -- specify boot program
- * CON=file -- specify initial file/device for handles -1, 0, 1
- ! * PRN=file -- specify initial file for handle 2
- * BIOSBUF=[yn] -- if 'n' or 'N' then turn off BIOSBUF feature
- * DEBUG_LEVEL=n -- set debug level to (decimal number) n
- * DEBUG_DEVNO=n -- set debug device number to (decimal number) n
- --- 1097,1103 ----
- * # anything -- comment
- * INIT=file -- specify boot program
- * CON=file -- specify initial file/device for handles -1, 0, 1
- ! * PRN=file -- specify initial file for handle 3
- * BIOSBUF=[yn] -- if 'n' or 'N' then turn off BIOSBUF feature
- * DEBUG_LEVEL=n -- set debug level to (decimal number) n
- * DEBUG_DEVNO=n -- set debug device number to (decimal number) n
- ***************
- *** 1162,1170 ****
-
- f = do_open(val, O_RDWR|O_CREAT|O_TRUNC, 0, (XATTR *)0);
- if (f) {
- ! do_close(curproc->handle[2]);
- do_close(curproc->prn);
- ! curproc->prn = curproc->handle[2] = f;
- f->links = 2;
- }
- return;
- --- 1165,1173 ----
-
- f = do_open(val, O_RDWR|O_CREAT|O_TRUNC, 0, (XATTR *)0);
- if (f) {
- ! do_close(curproc->handle[3]);
- do_close(curproc->prn);
- ! curproc->prn = curproc->handle[3] = f;
- f->links = 2;
- }
- return;
- *** 1.5 1993/04/15 00:31:22
- --- mint.h 1993/06/10 18:34:40
- ***************
- *** 1,6 ****
- /*
- Copyright 1990,1991,1992 Eric R. Smith.
- ! Copyright 1992 Atari Corporation.
- All rights reserved.
- */
-
- --- 1,6 ----
- /*
- Copyright 1990,1991,1992 Eric R. Smith.
- ! Copyright 1992,1993 Atari Corporation.
- All rights reserved.
- */
-
- ***************
- *** 220,225 ****
- --- 220,228 ----
-
- extern int has_bconmap; /* set in main() */
- extern int curbconmap; /* see xbios.c */
- +
- + #define MAXLANG 6 /* languages supported */
- + extern int gl_lang; /* set in main.c */
-
- /*
- * load some inline functions, perhaps
- *** 1.5 1993/04/15 00:31:22
- --- proc.c 1993/05/24 23:13:42
- ***************
- *** 534,543 ****
- --- 534,545 ----
- /*
- * restore per-process variables here
- */
- + #ifndef MULTITOS
- #ifdef FASTTEXT
- if (!hardscroll)
- #endif
- *((void **)0x44eL) = curproc->logbase;
- + #endif
- do_wakeup_things();
- return;
- }
- ***************
- *** 544,553 ****
- --- 546,557 ----
- /*
- * save per-process variables here
- */
- + #ifndef MULTITOS
- #ifdef FASTTEXT
- if (!hardscroll)
- #endif
- curproc->logbase = *((void **)0x44eL);
- + #endif
- curproc->ctxt[CURRENT].regs[0] = 1;
- curproc = p;
- proc_clock = TIME_SLICE; /* fresh time */
- *** 1.5 1993/04/15 00:31:22
- --- proc.h 1993/06/10 20:23:36
- ***************
- *** 1,6 ****
- /*
- Copyright 1990,1991,1992 Eric R. Smith.
- ! Copyright 1992 Atari Corporation.
- All rights reserved.
- */
-
- --- 1,6 ----
- /*
- Copyright 1990,1991,1992 Eric R. Smith.
- ! Copyright 1992,1993 Atari Corporation.
- All rights reserved.
- */
-
- *** 1.5 1993/04/15 00:31:22
- --- proto.h 1993/06/10 18:04:02
- ***************
- *** 269,277 ****
- void haltcpv P_((void));
-
- /* timeout.c */
- ! TIMEOUT *addtimeout P_((long delta, void (*func)(PROC *p)));
- ! void cancelalltimeouts P_((void));
- ! void canceltimeout P_((TIMEOUT *which));
- void ARGS_ON_STACK timeout P_((void));
- void checkalarms P_((void));
- void ARGS_ON_STACK nap P_((unsigned n));
- --- 269,277 ----
- void haltcpv P_((void));
-
- /* timeout.c */
- ! TIMEOUT * ARGS_ON_STACK addtimeout P_((long delta, void (*func)(PROC *p)));
- ! void ARGS_ON_STACK cancelalltimeouts P_((void));
- ! void ARGS_ON_STACK canceltimeout P_((TIMEOUT *which));
- void ARGS_ON_STACK timeout P_((void));
- void checkalarms P_((void));
- void ARGS_ON_STACK nap P_((unsigned n));
- *** 1.5 1993/04/15 00:31:22
- --- signal.c 1993/05/25 17:03:00
- ***************
- *** 257,263 ****
- {
- long oldstack, newstack;
- long *stack;
- ! CONTEXT *call, oldsysctxt, newcurrent;
- extern void sig_return();
-
- if (curproc->sighandle[sig] == SIG_IGN)
- --- 257,266 ----
- {
- long oldstack, newstack;
- long *stack;
- ! CONTEXT *call, contexts[2];
- ! #define oldsysctxt (contexts[0])
- ! #define newcurrent (contexts[1])
- !
- extern void sig_return();
-
- if (curproc->sighandle[sig] == SIG_IGN)
- ***************
- *** 356,362 ****
-
- /* set a new system stack, with a bit of buffer space */
- oldstack = curproc->sysstack;
- ! newstack = ((long) ( (&newcurrent) - 3 )) - 12;
-
- if (newstack < (long)curproc->stack + ISTKSIZE + 256) {
- ALERT("stack overflow");
- --- 359,365 ----
-
- /* set a new system stack, with a bit of buffer space */
- oldstack = curproc->sysstack;
- ! newstack = ((long) ( (&newcurrent) - 2 )) - 12;
-
- if (newstack < (long)curproc->stack + ISTKSIZE + 256) {
- ALERT("stack overflow");
- ***************
- *** 432,437 ****
- --- 435,442 ----
- curproc->ctxt[SYSCALL] = oldsysctxt;
- assert(curproc->magic == CTXT_MAGIC);
- }
- + #undef oldsysctxt
- + #undef newcurrent
- }
-
- /*
- ***************
- *** 481,487 ****
- }
- else {
- valid_return = 0;
- ! oldctxt = ((CONTEXT *)(&frame[2])) + 3;
- if (oldctxt->regs[0] != CTXT_MAGIC) {
- FATAL("p_sigreturn: corrupted context");
- }
- --- 486,492 ----
- }
- else {
- valid_return = 0;
- ! oldctxt = ((CONTEXT *)(&frame[2])) + 2;
- if (oldctxt->regs[0] != CTXT_MAGIC) {
- FATAL("p_sigreturn: corrupted context");
- }
- ***************
- *** 557,563 ****
- void
- sigbus()
- {
- ! report_buserr();
- exception(SIGBUS);
- }
-
- --- 562,569 ----
- void
- sigbus()
- {
- ! if (curproc->sighandle[SIGBUS] == SIG_DFL)
- ! report_buserr();
- exception(SIGBUS);
- }
-
- *** 1.5 1993/04/15 00:31:22
- --- timeout.c 1993/06/10 18:04:16
- ***************
- *** 1,6 ****
- /*
- Copyright 1990,1991,1992 Eric R. Smith.
- ! Copyright 1992 Atari Corporation.
- All rights reserved.
- */
-
- --- 1,6 ----
- /*
- Copyright 1990,1991,1992 Eric R. Smith.
- ! Copyright 1992,1993 Atari Corporation.
- All rights reserved.
- */
-
- ***************
- *** 34,40 ****
- #define newtimeout() (TIMEOUT *)kmalloc(SIZEOF(TIMEOUT))
- #define disposetimeout(t) kfree(t)
-
- ! TIMEOUT *
- addtimeout(delta, func)
- long delta;
- void (*func) P_((PROC *));
- --- 34,40 ----
- #define newtimeout() (TIMEOUT *)kmalloc(SIZEOF(TIMEOUT))
- #define disposetimeout(t) kfree(t)
-
- ! TIMEOUT * ARGS_ON_STACK
- addtimeout(delta, func)
- long delta;
- void (*func) P_((PROC *));
- ***************
- *** 77,83 ****
- * process
- */
-
- ! void
- cancelalltimeouts()
- {
- TIMEOUT *cur, **prev, *old;
- --- 77,83 ----
- * process
- */
-
- ! void ARGS_ON_STACK
- cancelalltimeouts()
- {
- TIMEOUT *cur, **prev, *old;
- ***************
- *** 110,116 ****
- * find it there!
- */
-
- ! void
- canceltimeout(this)
- TIMEOUT *this;
- {
- --- 110,116 ----
- * find it there!
- */
-
- ! void ARGS_ON_STACK
- canceltimeout(this)
- TIMEOUT *this;
- {
- *** 1.5 1993/04/15 00:31:22
- --- trans.c 1993/05/25 16:40:28
- ***************
- *** 76,82 ****
- char *disp, *base, *index;
- {
- if (syntax == GAS) {
- ! return concat6(base, "@(", disp, ",", changesiz(index), ")");
- } else {
- return concat6(disp, "(", base, ",", index, ")");
- }
- --- 76,82 ----
- char *disp, *base, *index;
- {
- if (syntax == GAS) {
- ! return concat6(base, "@(", disp, ",", changesiz2(index), ")");
- } else {
- return concat6(disp, "(", base, ",", index, ")");
- }
- ***************
- *** 94,99 ****
- --- 94,143 ----
- }
-
- char *
- + postindex(bd, an , index, od)
- + char *bd, *an, *index , *od;
- + {
- + if (syntax == GAS) {
- + return concat8(an, "@(", bd, ")@(", od, ",", changesiz2(index), ")");
- + } else {
- + return concat9("([",an, ",", bd, "],", index, ",", od ,")");
- + }
- + }
- +
- + char *
- + postindex0(bd)
- + char *bd;
- + {
- + if (syntax == GAS) {
- + return concat3("@(", bd, ")");
- + } else {
- + return concat3("([", bd, "])");
- + }
- + }
- +
- + char *
- + postindex1(bd,od)
- + char *bd, *od;
- + {
- + if (syntax == GAS) {
- + return concat5("@(", bd, ")@(", od, ")");
- + } else {
- + return concat5("([", bd, "],", od, ")");
- + }
- + }
- +
- + char *
- + preindex(bd, an , index, od)
- + char *bd, *an, *index , *od;
- + {
- + if (syntax == GAS) {
- + return concat8(an, "@(", bd, ",", changesiz2(index), ")@(", od, ")");
- + } else {
- + return concat9("([",an, ",", bd, ",", index, "],", od, ")");
- + }
- + }
- +
- + char *
- do_ops(label, opcode, space, operand)
- char *label, *opcode, *space, *operand;
- {
- ***************
- *** 180,185 ****
- --- 224,244 ----
-
- while (*op) {
- if (*op == '.') *op = ':';
- + op++;
- + }
- + return r;
- + }
- +
- + char *
- + changesiz2(op) /* rw: hack for scaled index */
- + char *op;
- + {
- + char *r = op;
- +
- + if (syntax != GAS) return op;
- +
- + while (*op) {
- + if (*op == '.' || *op == '*' ) *op = ':';
- op++;
- }
- return r;
- *** 1.5 1993/04/15 00:31:22
- --- trutil.c 1993/05/25 16:40:30
- ***************
- *** 101,106 ****
- --- 101,152 ----
- return r;
- }
-
- + char *concat8(s1, s2, s3, s4, s5, s6, s7, s8)
- + char *s1, *s2, *s3, *s4, *s5, *s6, *s7, *s8;
- + {
- + size_t siz = strlen(s1) + strlen(s2) + strlen(s3)
- + + strlen(s4) + strlen(s5) + strlen(s6)
- + + strlen(s7) + strlen(s8) + 1;
- + char *r;
- +
- + r = malloc(siz);
- + if (!r) return 0;
- +
- + strcpy(r, s1);
- + strcat(r, s2);
- + strcat(r, s3);
- + strcat(r, s4);
- + strcat(r, s5);
- + strcat(r, s6);
- + strcat(r, s7);
- + strcat(r, s8);
- + return r;
- + }
- +
- + char *concat9(s1, s2, s3, s4, s5, s6, s7, s8, s9)
- + char *s1, *s2, *s3, *s4, *s5, *s6, *s7, *s8, *s9;
- + {
- + size_t siz = strlen(s1) + strlen(s2) + strlen(s3)
- + + strlen(s4) + strlen(s5) + strlen(s6)
- + + strlen(s7) + strlen(s8) + strlen(s9) + 1;
- + char *r;
- +
- + r = malloc(siz);
- + if (!r) return 0;
- +
- + strcpy(r, s1);
- + strcat(r, s2);
- + strcat(r, s3);
- + strcat(r, s4);
- + strcat(r, s5);
- + strcat(r, s6);
- + strcat(r, s7);
- + strcat(r, s8);
- + strcat(r, s9);
- + return r;
- + }
- +
- +
- static int is_word_sym(c)
- int c;
- {
- *** 1.5 1993/04/15 00:31:22
- --- version.h 1993/04/15 23:42:30
- ***************
- *** 1,5 ****
- #define MAJ_VERSION 1
- ! #define MIN_VERSION 5
-
- #ifndef MULTITOS
- #define BETA
- --- 1,5 ----
- #define MAJ_VERSION 1
- ! #define MIN_VERSION 6
-
- #ifndef MULTITOS
- #define BETA
- *** 1.5 1993/04/15 00:31:22
- --- welcome.c 1993/06/10 18:33:38
- ***************
- *** 47,53 ****
- * "boot MultiTOS?" messages, in various langauges:
- */
-
- - #define MAXLANG 6
-
- struct yn_message {
- const char *message; /* message to print */
- --- 47,52 ----
- ***************
- *** 75,82 ****
- struct yn_message *msg;
- int y;
-
- - if (gl_lang >= MAXLANG || gl_lang < 0)
- - gl_lang = 0;
- msg = &boot_it[gl_lang];
- Cconws(msg->message);
- y = (int) Cconin();
- --- 74,79 ----
- *** 1.5 1993/04/15 00:31:22
- --- xbios.c 1993/06/10 20:30:40
- ***************
- *** 164,176 ****
- mapin(curproc->bconmap);
-
- #ifndef DONT_ONLY030_THIS
- ! /* Note: in theory, the code below shouldn't be necessary
- ! if we're running on a 68030 chip; after all, in such a case
- ! we MUST have TOS 1.6 or better...
- ! However, the code breaks if we comment this out, even though
- ! tosvers is indeed > 0x0104. Must be a compiler bug, but it's
- ! nothing obvious!
- ! */
-
- /*
- If this is an old TOS, try to rearrange things to support
- --- 164,172 ----
- mapin(curproc->bconmap);
-
- #ifndef DONT_ONLY030_THIS
- ! /* Note: the code below must be included, even on a 68030, thanks to a bug
- ! * in the gcc and mntlib osbind.h file.
- ! */
-
- /*
- If this is an old TOS, try to rearrange things to support
- ***************
- *** 263,268 ****
- --- 259,291 ----
- (*f->dev->ioctl)(f, TCURSOFF+cmd, &op);
- }
-
- +
- + long
- + dosound(ptr)
- + char *ptr;
- + {
- + char c;
- + MEMREGION *r;
- +
- + if (!no_mem_prot) {
- + /* check that this process has access to the memory */
- + /* (if not, the next line will cause a bus error) */
- + c = *((volatile char *)ptr);
- +
- + /* OK, now make sure that interrupt routines will have access,
- + * too
- + */
- + r = addr2region((virtaddr)ptr);
- + if (r && get_prot_mode(r) == PROT_P) {
- + DEBUG(("Dosound: changing protection to Super"));
- + mark_region(r, PROT_S);
- + }
- + }
- +
- + Dosound(ptr);
- + return 0;
- + }
- +
- void
- init_xbios()
- {
- ***************
- *** 272,277 ****
- --- 295,301 ----
- xbios_tab[0x0e] = uiorec;
- xbios_tab[0x0f] = rsconf;
- xbios_tab[0x15] = cursconf;
- + xbios_tab[0x20] = dosound;
- xbios_tab[0x26] = supexec;
- xbios_tab[0x2c] = bconmap;
- }
- *** 1.5 1993/04/15 00:31:22
- --- context.spp 1993/04/21 23:52:20
- ***************
- *** 274,280 ****
- ; if running with a true coprocessor we need to restore the FPU state
-
- tst.w _fpu ; is there a true FPU in the system
- ! beq.s short3
- tst.b C_FSTATE(a0) ; if NULL frame then the FPU is not in use
- beq.s short5 ; skip programmer's model restore
- fmovem.l C_FCTRL(a0),fpcr/fpsr/fpiar ; restore control registers
- --- 274,280 ----
- ; if running with a true coprocessor we need to restore the FPU state
-
- tst.w _fpu ; is there a true FPU in the system
- ! beq.s short6
- tst.b C_FSTATE(a0) ; if NULL frame then the FPU is not in use
- beq.s short5 ; skip programmer's model restore
- fmovem.l C_FCTRL(a0),fpcr/fpsr/fpiar ; restore control registers
- *** 1.5 1993/04/15 00:31:22
- --- intr.spp 1993/04/20 16:24:38
- ***************
- *** 16,23 ****
- ori.w #$0700,sr
- rts
- _spl:
- ! move.w 4(sp),d0
- ! move.w d0,sr
- rts
-
- XDEF _mint_5ms
- --- 16,22 ----
- ori.w #$0700,sr
- rts
- _spl:
- ! move.w 4(sp),sr
- rts
-
- XDEF _mint_5ms
-