/* Text-VRAM初期化 */
for ( i = 0; i < self->iScreenWidth * self->iScreenHeight; i++ )
{
- self->puhVramBase[i] = 0x0720;
+ self->puhTextVram[i] = 0x0720;
}
/* カーソル初期化 */
PcatTextDrv_Open,
PcatTextDrv_Close,
PcatTextDrv_IoControl,
- PcatTextDrv_Seek,
- PcatTextDrv_Read,
+ DrvObj_Seek,
+ DrvObj_Read,
PcatTextDrv_Write,
- PcatTextDrv_Flush,
+ DrvObj_Flush,
};
--- /dev/null
+/**
+ * Hyper Operating System Application Framework
+ *
+ * @file pcattextdrv_iocontrol.c
+ * @brief %jp{PC/AT text mode driver I/O制御}%en{PC/AT text mode driver I/O control}
+ *
+ * Copyright (C) 2008 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+#include "pcattextdrv_local.h"
+
+
+FILE_ERR PcatTextDrv_IoControl(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, int iFunc, void *pInBuf, FILE_SIZE InSize, const void *pOutBuf, FILE_SIZE OutSize)
+{
+ return DrvObj_IoControl(pDrvObj, pFileObj, iFunc, pInBuf, InSize, pOutBuf, OutSize);
+}
+
+
+/* end of file */
#include "pcattextdrv_local.h"
-void PcatTextDrv_SetCursor(C_PCATTEXTDRV *self, int iX, int iY);
+void PcatTextDrv_SetCursor(C_PCATTEXTDRV *self, int iX, int iY)
{
+ /* カーソル移動 */
self->iCursorX = iX;
self->iCursorY = iY;
}
--- /dev/null
+/**
+ * Hyper Operating System Application Framework
+ *
+ * @file pcattextdrv_write.c
+ * @brief %jp{PC/AT text mode driver 書込み}%en{PC/AT text mode driver write}
+ *
+ * Copyright (C) 2008 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+#include "pcattextdrv_local.h"
+
+
+/** %jp{送信} */
+FILE_SIZE PcatTextDrv_Write(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, const void *pData, FILE_SIZE Size)
+{
+ C_PCATTEXTDRV *self;
+ const unsigned char *pubBuf;
+ FILE_SIZE i;
+
+ /* upper cast */
+ self = (C_PCATTEXTDRV *)pDrvObj;
+
+ pubBuf = (const unsigned char *)pData;
+
+ /* 出力 */
+ for ( i = 0; i < Size; i++ )
+ {
+ PcatTextDrv_PutChar(self, pubBuf[i]);
+ }
+
+ return i;
+}
+
+
+/* end of file */