Set FP_OFF (), FP_SEG() for the callback function at interrupt setting in WonderWitch
Adjust appropriately according to the setting method. (Fit to wwterm)
UNIXTimer.c: UNIXTimer_Unpause()
((unix_timer -> pause == 1) && (unix_timer -> interrupt_in_pause == 0))
Fixed a bug that was not unix_timer-> pause--; when it was.
(It was not unposted when interrupt was not applied during pause)
Serial receive interrupt, keyboard interrupt added. (corresponding to wwterm, operation confirmed)
Added UNIXSerialPort class.
With this, at WonderWitch,
com_intvector.callback = (void (near *) ()) FP_OFF (com_handler);
com_intvector.cs = _ asm_inline ("\tmov \tax, cs");
com_intvector.ds = _ asm_inline ("\tmov \tax, ds");
sys_interrupt_set_hook (SYS_INT_RECEIVEREADY,
& com_intvector, & com_last_intvector);
Interrupt setting like that shown in Fig.
For warning, add WonX_Warning ().
Move WonX_Error () to WonX.c.
comm_send_string (), text_put_string (), text_put_substring () When executed
Fix output message.
Implement cursor display function. (Add WWCursor class) (Do not blink. Display only)
When displaying the cursor, text information inside WWDisplay_DrawLCDPanel ()
Since we need to be able to read it, we will discontinue the WonXText class and add the WWText class
I moved to a member of the WWDisplay class.
In palette_get_color (), transparent color is displayed when executing WWPalette_GetMappedColors ()
Since it was not considered to be returned as -1, palette_get_color ()
Fixed a bug where return value was wrong value.
Character color palette, LCD color palette initial value, with WonderWitch
It was made to coincide with the initial value.
As a sample, add wwterm - b 05. (Add wwterm target to Makefile)
Version 1.1 - from wonx-1.1.tar.gz
93 lines
3.6 KiB
C
93 lines
3.6 KiB
C
#ifndef _WWScreen_h_INCLUDED_
|
|
#define _WWScreen_h_INCLUDED_
|
|
|
|
/*****************************************************************************/
|
|
/* ここから */
|
|
/*****************************************************************************/
|
|
|
|
/*****************************************************************************/
|
|
/* クラスの定義 */
|
|
/*****************************************************************************/
|
|
|
|
typedef struct _WWScreen * WWScreen;
|
|
|
|
/*****************************************************************************/
|
|
/* ヘッダファイルのインクルード */
|
|
/*****************************************************************************/
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include "WWPalette.h"
|
|
#include "WWCharacter.h"
|
|
#include "WWCursor.h"
|
|
|
|
/*****************************************************************************/
|
|
/* 定数の定義 */
|
|
/*****************************************************************************/
|
|
|
|
#define WW_SCREEN_DRAW_ALL 0
|
|
#define WW_SCREEN_INSIDE_ONLY 1
|
|
#define WW_SCREEN_OUTSIDE_ONLY 2
|
|
|
|
/*****************************************************************************/
|
|
/* メンバ関数の宣言 */
|
|
/*****************************************************************************/
|
|
|
|
int WWScreen_GetHorizontal(WWScreen s, int x, int y);
|
|
int WWScreen_GetVertical(WWScreen s, int x, int y);
|
|
WWPalette WWScreen_GetPalette(WWScreen s, int x, int y);
|
|
WWCharacter WWScreen_GetCharacter(WWScreen s, int x, int y);
|
|
|
|
int WWScreen_SetHorizontal(WWScreen s, int x, int y, int f);
|
|
int WWScreen_SetVertical(WWScreen s, int x, int y, int f);
|
|
WWPalette WWScreen_SetPalette(WWScreen s, int x, int y, WWPalette palette);
|
|
WWCharacter WWScreen_SetCharacter(WWScreen s, int x, int y, WWCharacter c);
|
|
|
|
int WWScreen_GetNumber(WWScreen s);
|
|
int WWScreen_GetWidth( WWScreen s);
|
|
int WWScreen_GetHeight(WWScreen s);
|
|
int WWScreen_GetRollX( WWScreen s);
|
|
int WWScreen_GetRollY( WWScreen s);
|
|
|
|
int WWScreen_GetEnable(WWScreen s);
|
|
int WWScreen_GetMode( WWScreen s);
|
|
|
|
int WWScreen_GetDrawX( WWScreen s);
|
|
int WWScreen_GetDrawY( WWScreen s);
|
|
int WWScreen_GetDrawWidth( WWScreen s);
|
|
int WWScreen_GetDrawHeight(WWScreen s);
|
|
|
|
int WWScreen_SetNumber(WWScreen s, int n);
|
|
int WWScreen_SetWidth( WWScreen s, int n);
|
|
int WWScreen_SetHeight(WWScreen s, int n);
|
|
int WWScreen_SetRollX( WWScreen s, int r);
|
|
int WWScreen_SetRollY( WWScreen s, int r);
|
|
|
|
int WWScreen_SetEnable(WWScreen s, int n);
|
|
int WWScreen_SetMode( WWScreen s, int n);
|
|
|
|
int WWScreen_SetDrawX( WWScreen s, int n);
|
|
int WWScreen_SetDrawY( WWScreen s, int n);
|
|
int WWScreen_SetDrawWidth( WWScreen s, int n);
|
|
int WWScreen_SetDrawHeight(WWScreen s, int n);
|
|
|
|
int WWScreen_GetPixel(WWScreen screen, int x, int y, WWCursor cursor);
|
|
|
|
WWScreen WWScreen_Create(int number,
|
|
int width, int height,
|
|
WWPalette initial_palette,
|
|
WWCharacter initial_character,
|
|
int draw_x, int draw_y,
|
|
int draw_width, int draw_height);
|
|
WWScreen WWScreen_Destroy(WWScreen screen);
|
|
|
|
/*****************************************************************************/
|
|
/* ここまで */
|
|
/*****************************************************************************/
|
|
|
|
#endif
|
|
|
|
/*****************************************************************************/
|
|
/* End of File. */
|
|
/*****************************************************************************/
|