• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

BASIC compiler/interpreter for PIC32MX/MZ-80K


Commit MetaInfo

Revisiónd8e3fee225552f706f55b3d409501767f40857d0 (tree)
Tiempo2019-04-10 06:59:32
AutorKatsumi <kmorimatsu@sour...>
CommiterKatsumi

Log Message

Not TMR1=0 in TIMER statement but g_timer=0 in USETIMER statement.

Cambiar Resumen

Diferencia incremental

--- a/mips/megalopa/statement.c
+++ b/mips/megalopa/statement.c
@@ -1431,6 +1431,20 @@ char* fclose_statement(){
14311431 return 0;
14321432 }
14331433
1434+/*
1435+
1436+TODO: candidates to add:
1437+
1438+int FSattrib (FSFILE * file, unsigned char attributes);
1439+int FSrename (const char * fileName, FSFILE * fo);
1440+int FSmkdir (char * path);
1441+int FSrmdir (char * path, unsigned char rmsubdirs);
1442+int SetClockVars (unsigned int year, unsigned char month, unsigned char day, unsigned char hour, unsigned char minute, unsigned char second);
1443+int FindFirst (const char * fileName, unsigned int attr, SearchRec * rec);
1444+int FindNext (SearchRec * rec);
1445+
1446+*/
1447+
14341448 char* fget_statement(){
14351449 return param2_statement(LIB_FILE | FUNC_FGET);
14361450 }
--- a/mips/megalopa/timer.c
+++ b/mips/megalopa/timer.c
@@ -123,6 +123,7 @@ void lib_usetimer(int usec){
123123 IPC1bits.T1IS=0;
124124 IEC0bits.T1IE=1;
125125 // Start timer
126+ g_timer=0;
126127 T1CONbits.ON=1;
127128 }
128129
@@ -143,9 +144,6 @@ char* timer_statement(){
143144 check_obj_space(4);
144145 g_object[g_objpos++]=0x3C030000|((i>>16)&0x0000FFFF); // lui v1,xxxx
145146 g_object[g_objpos++]=0xAC620000|((i-0x8000)&0xFFFF); // sw v0,xxxx(v1)
146- i=(int)(&TMR1)+0x8000;//0xBF800610
147- g_object[g_objpos++]=0x3C030000|((i>>16)&0x0000FFFF); // lui v1,0xbf80
148- g_object[g_objpos++]=0xAC600000|((i-0x8000)&0xFFFF); // sw zero,0x0610(v1)
149147 return 0;
150148 }
151149
@@ -285,7 +283,7 @@ char* interrupt_statement(){
285283 4) DRAWCOUNT interrupt
286284 */
287285
288-const int* keystatus=(int*)&ps2keystatus[0];
286+const int* g_keystatus=(int*)&ps2keystatus[0];
289287
290288 #pragma interrupt CS0Handler IPL3SOFT vector 1
291289 void CS0Handler(void){
@@ -308,7 +306,7 @@ void CS0Handler(void){
308306 // Check PS/2 keyboard down
309307 if (g_int_vector[INTERRUPT_INKEY]) {
310308 for(i=0;i<64;i++){
311- if (keystatus[i]) {
309+ if (g_keystatus[i]) {
312310 // Raise INKEY interrupt flag
313311 if (!s_inkey) raise_interrupt_flag(INTERRUPT_INKEY);
314312 break;
@@ -318,8 +316,3 @@ void CS0Handler(void){
318316 }
319317 }
320318 }
321-/*
322- for(i=0;i<256;i++){
323- if (ps2keystatus[i]) return i;
324- }
325-*/
--- a/mips/protozoa/statement.c
+++ b/mips/protozoa/statement.c
@@ -1431,6 +1431,20 @@ char* fclose_statement(){
14311431 return 0;
14321432 }
14331433
1434+/*
1435+
1436+TODO: candidates to add:
1437+
1438+int FSattrib (FSFILE * file, unsigned char attributes);
1439+int FSrename (const char * fileName, FSFILE * fo);
1440+int FSmkdir (char * path);
1441+int FSrmdir (char * path, unsigned char rmsubdirs);
1442+int SetClockVars (unsigned int year, unsigned char month, unsigned char day, unsigned char hour, unsigned char minute, unsigned char second);
1443+int FindFirst (const char * fileName, unsigned int attr, SearchRec * rec);
1444+int FindNext (SearchRec * rec);
1445+
1446+*/
1447+
14341448 char* fget_statement(){
14351449 return param2_statement(LIB_FILE | FUNC_FGET);
14361450 }
--- a/mips/protozoa/timer.c
+++ b/mips/protozoa/timer.c
@@ -123,6 +123,7 @@ void lib_usetimer(int usec){
123123 IPC1bits.T1IS=0;
124124 IEC0bits.T1IE=1;
125125 // Start timer
126+ g_timer=0;
126127 T1CONbits.ON=1;
127128 }
128129
@@ -143,9 +144,6 @@ char* timer_statement(){
143144 check_obj_space(4);
144145 g_object[g_objpos++]=0x3C030000|((i>>16)&0x0000FFFF); // lui v1,xxxx
145146 g_object[g_objpos++]=0xAC620000|((i-0x8000)&0xFFFF); // sw v0,xxxx(v1)
146- i=(int)(&TMR1)+0x8000;//0xBF800610
147- g_object[g_objpos++]=0x3C030000|((i>>16)&0x0000FFFF); // lui v1,0xbf80
148- g_object[g_objpos++]=0xAC600000|((i-0x8000)&0xFFFF); // sw zero,0x0610(v1)
149147 return 0;
150148 }
151149
@@ -318,8 +316,3 @@ void CS0Handler(void){
318316 }
319317 }
320318 }
321-/*
322- for(i=0;i<256;i++){
323- if (ps2keystatus[i]) return i;
324- }
325-*/
--- a/mips/zoea/statement.c
+++ b/mips/zoea/statement.c
@@ -1431,6 +1431,20 @@ char* fclose_statement(){
14311431 return 0;
14321432 }
14331433
1434+/*
1435+
1436+TODO: candidates to add:
1437+
1438+int FSattrib (FSFILE * file, unsigned char attributes);
1439+int FSrename (const char * fileName, FSFILE * fo);
1440+int FSmkdir (char * path);
1441+int FSrmdir (char * path, unsigned char rmsubdirs);
1442+int SetClockVars (unsigned int year, unsigned char month, unsigned char day, unsigned char hour, unsigned char minute, unsigned char second);
1443+int FindFirst (const char * fileName, unsigned int attr, SearchRec * rec);
1444+int FindNext (SearchRec * rec);
1445+
1446+*/
1447+
14341448 char* fget_statement(){
14351449 return param2_statement(LIB_FILE | FUNC_FGET);
14361450 }
--- a/mips/zoea/timer.c
+++ b/mips/zoea/timer.c
@@ -123,6 +123,7 @@ void lib_usetimer(int usec){
123123 IPC1bits.T1IS=0;
124124 IEC0bits.T1IE=1;
125125 // Start timer
126+ g_timer=0;
126127 T1CONbits.ON=1;
127128 }
128129
@@ -143,9 +144,6 @@ char* timer_statement(){
143144 check_obj_space(4);
144145 g_object[g_objpos++]=0x3C030000|((i>>16)&0x0000FFFF); // lui v1,xxxx
145146 g_object[g_objpos++]=0xAC620000|((i-0x8000)&0xFFFF); // sw v0,xxxx(v1)
146- i=(int)(&TMR1)+0x8000;//0xBF800610
147- g_object[g_objpos++]=0x3C030000|((i>>16)&0x0000FFFF); // lui v1,0xbf80
148- g_object[g_objpos++]=0xAC600000|((i-0x8000)&0xFFFF); // sw zero,0x0610(v1)
149147 return 0;
150148 }
151149
@@ -285,7 +283,7 @@ char* interrupt_statement(){
285283 4) DRAWCOUNT interrupt
286284 */
287285
288-const int* keystatus=(int*)&ps2keystatus[0];
286+const int* g_keystatus=(int*)&ps2keystatus[0];
289287
290288 #pragma interrupt CS0Handler IPL3SOFT vector 1
291289 void CS0Handler(void){
@@ -308,7 +306,7 @@ void CS0Handler(void){
308306 // Check PS/2 keyboard down
309307 if (g_int_vector[INTERRUPT_INKEY]) {
310308 for(i=0;i<64;i++){
311- if (keystatus[i]) {
309+ if (g_keystatus[i]) {
312310 // Raise INKEY interrupt flag
313311 if (!s_inkey) raise_interrupt_flag(INTERRUPT_INKEY);
314312 break;
@@ -318,8 +316,3 @@ void CS0Handler(void){
318316 }
319317 }
320318 }
321-/*
322- for(i=0;i<256;i++){
323- if (ps2keystatus[i]) return i;
324- }
325-*/