#include <dos.h>
#include "usblib.h"
#include "iolib.h"

#define MEM_SEG 0x8080	/* Segment for Memory */
#define MEM_OFS 0x0000	/* Offset for Memory */
#define IOBASE 0x8200	/* I/O Base Address */

void user_task()
{
  static int led = 0;
  unsigned addr;
  unsigned char data;
  int i;

  setup_ioreg();

  while(1) {
    ei();				/* おまじない */
    systrap(RQ_PAUSE, 1000);		/* 1000msec待つ */

    led = 1 - led;
    if (led) LED_on();			/* CPUボードのLEDを点灯 */
    else LED_off();			/* CPUボードのLEDを消灯 */

    for (addr = 0; addr < 8; addr++) {
      data = peekb(MEM_SEG, addr);	/* ROMから読み出す */
      pokeb(MEM_SEG, addr + 8, data);	/* RAMに書き込む */
    }

    data = ~inport8(IOBASE) & 0x0f;	/* スイッチの値を読み出す */
    outport8(IOBASE + 1, ~data);	/* LED点灯 */
  }
}