History

Graphics and mouse are working

John Floren committed 15 years ago

Commit 8a883ac1 parent 8c814225 files · +47 −8Browse files

Unified · Split

5 files
  1. emu/Linux/emu-g +16 −2
  2. emu/Linux/emu-g.c +11 −3
  3. emu/Linux/mkfile +1 −0
  4. emu/port/devcons.c +2 −0
  5. emu/port/devpointer.c +17 −3
emu/Linux/emu-g+16−2
@@ -16,6 +16,10 @@ dev · 15 unmodified lines
16 cmd cmd16 cmd cmd
17 indir17 indir
18 18
19 draw screen
20 pointer
21# snarf
22
19 ip ipif6-posix ipaux23 ip ipif6-posix ipaux
20 eia24 eia
21# audio audio25# audio audio
@@ -23,7 +27,13 @@ dev · 1 unmodified line
23 27
24lib28lib
25 interp29 interp
30 tk
31 freetype
26 math32 math
33 draw screen
34
35 memlayer
36 memdraw
27 keyring37 keyring
28 sec38 sec
29 mp39 mp
@@ -34,12 +44,16 @@ link · 4 unmodified lines
34 44
35mod45mod
36 sys46 sys
47 draw
48
49 tk
37 math50 math
38 srv srv51 srv srv
39 keyring52 keyring
40 crypt53 crypt
41 ipints54 ipints
42 loader55 loader
56 freetype
43 57
44port58port
45 alloc59 alloc
@@ -69,8 +83,8 @@ port · 23 unmodified lines
69 uqid83 uqid
70 84
71code85code
72 void setpointer(int x, int y){USED(x); USED(y);}86# void setpointer(int x, int y){USED(x); USED(y);}
73 ulong strtochan(char *s){USED(s); return ~0;}87# ulong strtochan(char *s){USED(s); return ~0;}
74 88
75init89init
76 emuinit90 emuinit
emu/Linux/emu-g.c+11−3
@@ -6,7 +6,7 @@ · 5 unmodified lines
6 6
7#include "emu-g.root.h"7#include "emu-g.root.h"
8 8
9ulong ndevs = 25;9ulong ndevs = 27;
10 10
11extern Dev rootdevtab;11extern Dev rootdevtab;
12extern Dev consdevtab;12extern Dev consdevtab;
@@ -22,6 +22,8 @@ extern Dev capdevtab; · 9 unmodified lines
22extern Dev fsdevtab;22extern Dev fsdevtab;
23extern Dev cmddevtab;23extern Dev cmddevtab;
24extern Dev indirdevtab;24extern Dev indirdevtab;
25extern Dev drawdevtab;
26extern Dev pointerdevtab;
25extern Dev ipdevtab;27extern Dev ipdevtab;
26extern Dev eiadevtab;28extern Dev eiadevtab;
27extern Dev memdevtab;29extern Dev memdevtab;
@@ -40,6 +42,8 @@ Dev* devtab[]={ · 12 unmodified lines
40 &fsdevtab,42 &fsdevtab,
41 &cmddevtab,43 &cmddevtab,
42 &indirdevtab,44 &indirdevtab,
45 &drawdevtab,
46 &pointerdevtab,
43 &ipdevtab,47 &ipdevtab,
44 &eiadevtab,48 &eiadevtab,
45 &memdevtab,49 &memdevtab,
@@ -58,23 +62,27 @@ void links(void){ · 12 unmodified lines
58}62}
59 63
60extern void sysmodinit(void);64extern void sysmodinit(void);
65extern void drawmodinit(void);
66extern void tkmodinit(void);
61extern void mathmodinit(void);67extern void mathmodinit(void);
62extern void srvmodinit(void);68extern void srvmodinit(void);
63extern void keyringmodinit(void);69extern void keyringmodinit(void);
64extern void cryptmodinit(void);70extern void cryptmodinit(void);
65extern void ipintsmodinit(void);71extern void ipintsmodinit(void);
66extern void loadermodinit(void);72extern void loadermodinit(void);
73extern void freetypemodinit(void);
67void modinit(void){74void modinit(void){
68 sysmodinit();75 sysmodinit();
76 drawmodinit();
77 tkmodinit();
69 mathmodinit();78 mathmodinit();
70 srvmodinit();79 srvmodinit();
71 keyringmodinit();80 keyringmodinit();
72 cryptmodinit();81 cryptmodinit();
73 ipintsmodinit();82 ipintsmodinit();
74 loadermodinit();83 loadermodinit();
84 freetypemodinit();
75}85}
76 86
77 void setpointer(int x, int y){USED(x); USED(y);}
78 ulong strtochan(char *s){USED(s); return ~0;}
79char* conffile = "emu-g";87char* conffile = "emu-g";
80ulong kerndate = KERNDATE;88ulong kerndate = KERNDATE;
emu/Linux/mkfile+1−0
@@ -23,6 +23,7 @@ OBJ=\ · 22 unmodified lines
23 osp.$O\23 osp.$O\
24 kproc-pthreads.$O\24 kproc-pthreads.$O\
25 segflush-$OBJTYPE.$O\25 segflush-$OBJTYPE.$O\
26 framebuffer.$O\
26 $CONF.root.$O\27 $CONF.root.$O\
27 lock.$O\28 lock.$O\
28 $DEVS\29 $DEVS\
emu/port/devcons.c+2−0
@@ -610,6 +610,7 @@ nrand(int n) · 609 unmodified lines
610 randn = randn*1103515245 + 12345 + osusectime();610 randn = randn*1103515245 + 12345 + osusectime();
611 return (randn>>16) % n;611 return (randn>>16) % n;
612}612}
613
613/*614/*
614int615int
615rand(void)616rand(void)
@@ -618,6 +619,7 @@ rand(void) · 2 unmodified lines
618 return randn;619 return randn;
619}620}
620*/621*/
622
621ulong623ulong
622truerand(void)624truerand(void)
623{625{
emu/port/devpointer.c+17−3
@@ -73,6 +73,14 @@ mousetrack(int b, int x, int y, int isdelta) · 72 unmodified lines
73 x += mouse.v.x;73 x += mouse.v.x;
74 y += mouse.v.y;74 y += mouse.v.y;
75 }75 }
76 if(x < 0)
77 x = 0;
78 else if (x > Xsize)
79 x = Xsize;
80 if(y < 0)
81 y = 0;
82 else if (y > Ysize)
83 y = Ysize;
76 msec = osmillisec();84 msec = osmillisec();
77 if(0 && b && (mouse.v.b ^ b)&0x1f){85 if(0 && b && (mouse.v.b ^ b)&0x1f){
78 if(msec - mouse.v.msec < 300 && mouse.lastb == b86 if(msec - mouse.v.msec < 300 && mouse.lastb == b
@@ -100,7 +108,7 @@ mousetrack(int b, int x, int y, int isdelta) · 21 unmodified lines
100 ptrq.put++;108 ptrq.put++;
101 Wakeup(&ptrq.r);109 Wakeup(&ptrq.r);
102/* drawactive(1); */110/* drawactive(1); */
103/* setpointer(x, y); */111 setpointer(x, y);
104}112}
105 113
106static int114static int
@@ -227,6 +235,8 @@ pointerread(Chan* c, void* a, long n, vlong off) · 120 unmodified lines
227 return n;235 return n;
228}236}
229 237
238extern void drawPointer(int, int);
239
230static long240static long
231pointerwrite(Chan* c, void* va, long n, vlong off)241pointerwrite(Chan* c, void* va, long n, vlong off)
232{242{
@@ -251,6 +261,8 @@ pointerwrite(Chan* c, void* va, long n, vlong off) · 18 unmodified lines
251 else261 else
252 b = mouse.v.b;262 b = mouse.v.b;
253 /*mousetrack(b, x, y, msec);*/263 /*mousetrack(b, x, y, msec);*/
264 mouse.v.x = x;
265 mouse.v.y = y;
254 setpointer(x, y);266 setpointer(x, y);
255 USED(b);267 USED(b);
256 break;268 break;
@@ -262,7 +274,8 @@ pointerwrite(Chan* c, void* va, long n, vlong off) · 5 unmodified lines
262 */274 */
263 if(n == 0){275 if(n == 0){
264 cur.data = nil;276 cur.data = nil;
265 drawcursor(&cur);277 //drawcursor(&cur);
278 drawPointer(cur.hotx, cur.hoty);
266 break;279 break;
267 }280 }
268 if(n < 8)281 if(n < 8)
@@ -276,7 +289,8 @@ pointerwrite(Chan* c, void* va, long n, vlong off) · 7 unmodified lines
276 if(cur.maxx%8 != 0 || cur.maxy%2 != 0 || n-4*4 != (cur.maxx/8 * cur.maxy))289 if(cur.maxx%8 != 0 || cur.maxy%2 != 0 || n-4*4 != (cur.maxx/8 * cur.maxy))
277 error(Ebadarg);290 error(Ebadarg);
278 cur.data = (uchar*)va + 4*4;291 cur.data = (uchar*)va + 4*4;
279 drawcursor(&cur);292 //drawcursor(&cur);
293 drawPointer(cur.hotx, cur.hoty);
280 break;294 break;
281 default:295 default:
282 error(Ebadusefd);296 error(Ebadusefd);