Commit Graph

93 Commits

Author SHA1 Message Date
Sergey
c40136c25d Merge branch 'master' of https://github.com/RetroBSD/retrobsd 2015-05-14 22:52:27 -07:00
Serge Vakulenko
ea03a4bc98 ADM demo rewritten without curses.
Examples reorganized.
Added examples for 37-in-1 sensor kit (not complete yet).
2015-05-14 22:11:47 -07:00
Sergey
f2fe94f32d Register dump fixed. 2015-05-08 22:18:10 -07:00
alex
a20c02c11f Fix issue #40. Properly flush stdio's streams at exit. 2015-04-25 19:49:26 -07:00
alex
a4bdbd4662 Bugfixes
- properly sign-/zero-extend returned values, e.g. the following
function must return 255 and not -1:

unsigned char f(void) { return -1; }

- properly decay arrays on the left side of ->, e.g. the following must
compile:

{
  struct {char c;} s[1];
  s[0].c = 'a'; putchar(s[0].c);
  (s+0)->c = 'b'; putchar(s[0].c);
  (*s).c = 'c'; putchar(s[0].c);
  s->c = 'd'; putchar(s[0].c);
  putchar('\n');
}

Also:
- support structure passing/returning by value (x86 only)
2015-04-25 18:03:55 -07:00
Sergey
0005e7d7bf Fixed bug in fsck: using bcopy() instead of structure assignment.
File exception.c converted to indent4 format.
2015-02-13 21:05:03 -08:00
Sergey
942bdda5ed Diskspeed: added extra sync and timeout before each test. 2015-02-13 19:41:32 -08:00
Serge Vakulenko
5ce8a8cd33 Added diskspeed utility. 2015-02-12 19:27:59 -08:00
Serge Vakulenko
bae12383a0 Fixed build issues on Linux x86-64. 2015-01-06 19:36:49 -08:00
alex
dad5247184 Merge branch 'master' of https://github.com/alexfru/retrobsd 2014-12-29 16:36:58 -08:00
alex
b1f67fbca0 SmallerC: generate smaller & faster code; bugfixes
Improvements:
- use registers more efficiently
- eliminate some register copies and stack manipulations
- promote left operands to right immediate operands
- improve simple assignments to auto/static vars
- use bltz, blez, bgtz, bgez
- change mul/divu (by powers of 2) to sll/srl/and
- use seb, seh for sign extension instead of sll/sra
- overall generate a bit tighter, faster and more readable asm code

Fixes:
- >>= should be unsigned when the left operand is unsigned int.
The right operand isn't important here.
- very subtle bug in e.g. void f(){int a; &a+1;/*wrong value of &a+1*/}

Other:
- include stdarg.c and skeleton.c in /share/example/Makefile
2014-12-29 16:28:56 -08:00
Alexey Frunze
3bb914c8b4 Fix >>=
>>= should be unsigned when the left operand is unsigned int. The right
operand isn't important here.
2014-12-13 01:06:53 -08:00
alex
00269e9387 Smaller C fixes and improvements:
- move va_list type detection under #ifdef as it's rarely needed anyway
- allow up to 254 characters in a string literal
- generate a warning when an integer is passed instead of a pointer (and
vice versa) as a function parameter (pass -Wall for this)
- when printing an unexpected token, print identifier tokens instead of
'<tokIdent>'
- fix: allow most control characters inside '' and ""
- fix handling of -I<path> and -SI<path>
- switch() now supports Duff's device
- for() now supports declarations in its first clause as in C99/C++
2014-12-06 16:18:17 -08:00
alex
b18ce0aa87 Fix MIPS code generation for -= and postfix --.
Also convert most of Small C sample programs to Smaller C.
2014-10-19 00:22:44 -07:00
Serge Vakulenko
a8d9b3d01f Makefiles updated for man sources. 2014-09-25 19:31:55 -07:00
Serge Vakulenko
c4da2137e1 Added man sources from 2.11bsd tape. 2014-09-25 17:14:51 -07:00
Serge Vakulenko
c42133cdff Fixed newlines in crib game. 2014-09-25 13:44:51 -07:00
Serge Vakulenko
f58c7a7426 Added missing files for atc, boggle, btlgammon, cribbage. 2014-09-17 13:54:28 -07:00
Serge Vakulenko
e557c88b1e Added manual for atc game.
Cribbage manuals installed.
2014-09-17 13:00:06 -07:00
Serge Vakulenko
850797db2e Fixed snake game.
Fixed newline bug in libcurses.

File /etc/termcap replaced by small version. Five TERM types supported:
ansi - simple generic display;
xterm - common for most modern terminal emulators;
linux - for Linux console;
cons25 - for BSD console;
vt100 - for DEC VT100 terminal emulators.

Terminal type xterm set by default.
2014-09-15 20:40:04 -07:00
Serge Vakulenko
cae7db41ca Snake fixed. 2014-09-15 14:24:17 -07:00
Serge Vakulenko
808dfaf6ef Ported snake game. 2014-09-15 12:28:43 -07:00
Sergey
d3d48970e3 Some progress with snake game. 2014-09-14 23:19:06 -07:00
Serge Vakulenko
c5ac22d17f Ported robots game. 2014-09-12 13:32:16 -07:00
Serge Vakulenko
e7b77dadc3 Ported quiz game. 2014-09-12 12:03:11 -07:00
Serge Vakulenko
2ea9e02ba5 Monop game done. 2014-09-10 20:48:05 -07:00
Serge Vakulenko
d9d91365c0 Fixed warning in mille. 2014-09-10 20:09:59 -07:00
Serge Vakulenko
2da083e9bd Some progress on 'monop' game. 2014-09-08 21:36:15 -07:00
Serge Vakulenko
e4e9ff1ef4 Ported mille game. 2014-09-08 19:19:18 -07:00
Serge Vakulenko
aecac2f5d7 Ported hangman. 2014-09-08 18:07:59 -07:00
Serge Vakulenko
8886a00340 Ported fortune. 2014-09-08 12:30:17 -07:00
Serge Vakulenko
25bcc79a69 Merge branch 'master' into games.
Conflicts:
	Makefile
2014-09-08 11:31:12 -07:00
Brian Callahan
294ccae3be emg 1.7 2014-07-10 18:11:43 -04:00
Serge Vakulenko
1c4e562363 Added kernel configuration for PICadillo-35T board. 2014-06-23 22:15:51 -07:00
Brian Callahan
70b8d93b21 Update emg man page. 2014-06-17 08:43:13 -04:00
Serge Vakulenko
5fa78e772b Moved aout sources to separate directory.
Fsutil and modff license changed to BSD style.
2014-06-04 11:46:33 -07:00
Brian Callahan
04208ea903 Remove unusued variable... put this down and walk away until tomorrow. 2014-05-29 18:20:55 -04:00
Brian Callahan
e003436e91 Dumbest off-by-one ever... 2014-05-29 18:16:24 -04:00
Brian Callahan
29904aacd7 I should trust my instincts. I had this right the first time. 2014-05-29 18:03:39 -04:00
Brian Callahan
dbe51ae294 This is cleaner, prevent the percent from being greater than 100. 2014-05-29 15:06:16 -04:00
Brian Callahan
87489937bf Add PgUp and PgDn scrolling to emg, release this as emg 1.6
Make sure emg.keys is installed.
2014-05-29 14:31:58 -04:00
Brian Callahan
bbba8d6f95 Remove all hardcoded make commands, changing them to ${MAKE}.
This is a first step towards being able to build RetroBSD on *BSD.
2014-05-25 16:25:15 -04:00
Sergey
b3abe580bd Added emg editor from github.com/ibara/emg. 2014-05-24 19:37:02 -07:00
Alexey Frunze
e725ab2b44 Update cpp to pcc 1.0.0's cpp
Update the preprocessor to fix some of its bugs.
2014-05-14 02:49:38 -07:00
Serge Vakulenko
dc1a7a5f25 Merge pull request #27 from alexfru/master
C compiler improvements
2014-05-10 00:15:24 -07:00
Alexey Frunze
17f417f519 C compiler improvements
Fix malloc(0) issue (#26) in cpp.
Reduce cpp size and allow for larger inputs.
Clean up unused variables in Smaller C.
2014-05-09 23:53:52 -07:00
Sergey
8423492f33 More games ported: boggle, btlgammon, cribbage.
Simulator modified to allow CR in UART output.
2014-05-09 23:39:23 -07:00
Sergey
8e8fc70ed5 Merge branch 'games' of https://github.com/RetroBSD/retrobsd into games 2014-05-09 21:01:09 -07:00
Serge Vakulenko
8871099aab Assembler modified to support local common blocks. 2014-05-08 20:00:57 -07:00
Serge Vakulenko
6a2230d867 Fixed couple of issues in assembler:
(1) incorrect opcodes for bnez and beqz instructions;
(2) macro li simplified when low part of constant is zero.
2014-05-08 19:11:19 -07:00