예제 #1
0
파일: mem_wrap.c 프로젝트: 173210/px68k
/*
 * write function
 */
void FASTCALL
dma_writemem24(DWORD addr, BYTE val)
{

	MemByteAccess = 0;

	wm_main(addr, val);
}
예제 #2
0
파일: mem_wrap.c 프로젝트: 173210/px68k
void FASTCALL
dma_writemem24_word(DWORD addr, WORD val)
{

	MemByteAccess = 0;

	if (addr & 1) {
		BusErrFlag |= 4;
		return;
	}

	wm_main(addr, (val >> 8) & 0xff);
	wm_main(addr + 1, val & 0xff);
}
예제 #3
0
파일: test.c 프로젝트: jordansissel/ifwm
int main(int argc, char **argv) {
  wm_t *wm = NULL;
  int i;
  wm = wm_create(NULL);
  wm_set_log_level(wm, LOG_INFO);

  container_context = XUniqueContext();
  client_container_context = XUniqueContext();

  wm_log(wm, LOG_INFO, "== num screens: %d", wm->num_screens);
  for (i = 0; i < wm->num_screens; i++) {
    XWindowAttributes attr;
    Window root = wm->screens[i]->root;;
    container_t *root_container;
    XGetWindowAttributes(wm->dpy, root, &attr);
    root_container = container_new(wm, root, attr.x, attr.y, attr.width, attr.height);
    container_show(root_container);
    wm_log(wm, LOG_INFO, "Setting current container to %tx", root_container);
    current_container = root_container;

    /* Grab keys */
    XGrabKey(wm->dpy, XKeysymToKeycode(wm->dpy, XK_j), Mod1Mask, root, False, GrabModeAsync, GrabModeAsync);
    XGrabKey(wm->dpy, XKeysymToKeycode(wm->dpy, XK_h), Mod1Mask, root, False, GrabModeAsync, GrabModeAsync);
  }

  container_focus(current_container);
  wm_listener_add(wm, WM_EVENT_MAPREQUEST, addwin);
  wm_listener_add(wm, WM_EVENT_MAPNOTIFY, addwin);
  wm_listener_add(wm, WM_EVENT_UNMAPNOTIFY, unmap);
  wm_listener_add(wm, WM_EVENT_ENTERNOTIFY, focus_container);
  wm_listener_add(wm, WM_EVENT_EXPOSE, expose_container);
  wm_listener_add(wm, WM_EVENT_KEYDOWN, keydown);
  wm_listener_add(wm, WM_EVENT_KEYUP, keyup);

  /* Start main loop. At this point, our code will only execute when events
   * happen */
  XSync(wm->dpy, False);
  wm_main(wm);

  return 0;
}
예제 #4
0
파일: mem_wrap.c 프로젝트: 173210/px68k
void FASTCALL
cpu_writemem24_word(DWORD addr, WORD val)
{

	MemByteAccess = 0;

	if (addr & 1) {
		AdrError(addr, val);
		return;
	}

	BusErrFlag = 0;

	wm_cnt(addr, (val >> 8) & 0xff);
	wm_main(addr + 1, val & 0xff);

	if (BusErrFlag & 2) {
		Memory_ErrTrace();
		BusError(addr, val);
	}
}