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
57 lines
1.7 KiB
C
57 lines
1.7 KiB
C
#ifndef _WONX_SYS_SYSTEM_H_
|
|
#define _WONX_SYS_SYSTEM_H_
|
|
|
|
#include "service.h"
|
|
|
|
/*****************************************************************************/
|
|
/* 年眶の年盗 */
|
|
/*****************************************************************************/
|
|
|
|
enum {
|
|
SYS_INT_SENDREADY = 0,
|
|
SYS_INT_KEY,
|
|
SYS_INT_CASETTE,
|
|
SYS_INT_RECEIVEREADY,
|
|
SYS_INT_DISPLINE,
|
|
SYS_INT_TIMER_COUNTUP,
|
|
SYS_INT_VBLANK,
|
|
SYS_INT_HBLANK_COUNTUP
|
|
};
|
|
|
|
typedef struct {
|
|
void (*callback)(void);
|
|
int cs;
|
|
int ds;
|
|
int reserve;
|
|
} intvector_t;
|
|
|
|
/*****************************************************************************/
|
|
/* 高垂簇眶の离咐 */
|
|
/*****************************************************************************/
|
|
|
|
void sys_interrupt_set_hook(int type, intvector_t * vector,
|
|
intvector_t * old_vector);
|
|
void sys_interrupt_reset_hook(int type, intvector_t * old_vector);
|
|
void sys_wait(unsigned int wait_time);
|
|
unsigned long int sys_get_tick_count(void);
|
|
void sys_sleep(void);
|
|
void sys_set_sleep_time(int sleep_time);
|
|
int sys_get_sleep_time(void);
|
|
void sys_set_awake_key(int pattern);
|
|
int sys_get_awake_key(void);
|
|
void sys_set_keepalive_int(int pattern);
|
|
void sys_get_ownerinfo(int size, char * buffer);
|
|
int sys_suspend(int core);
|
|
void sys_resume(int core);
|
|
void sys_set_remote(int remote);
|
|
unsigned int sys_get_remote(void);
|
|
void * sys_alloc_iram(void * p, unsigned int size);
|
|
void sys_free_iram(void * p);
|
|
void * sys_get_my_iram(void);
|
|
unsigned int sys_get_version(void);
|
|
int sys_swap(int core);
|
|
void sys_set_resume(unsigned int flags);
|
|
unsigned int sys_get_resume(void);
|
|
|
|
#endif
|