Author: coke Date: Sat Jan 10 22:13:23 2009 New Revision: 35387 Modified: trunk/languages/BASIC/compiler/RT_builtins.pir trunk/languages/BASIC/compiler/RT_debugger.pir trunk/languages/BASIC/compiler/RT_initialize.pir trunk/languages/BASIC/compiler/RT_platform.pir trunk/languages/BASIC/compiler/RT_platform_ANSIscreen.pir
Log: [BASIC] - can't use PASM-style registers in PIR anymore; pioctl opcode has been removed; must use .tailcall instead of .return Modified: trunk/languages/BASIC/compiler/RT_builtins.pir ============================================================================== --- trunk/languages/BASIC/compiler/RT_builtins.pir (original) +++ trunk/languages/BASIC/compiler/RT_builtins.pir Sat Jan 10 22:13:23 2009 @@ -298,7 +298,7 @@ .param string full .param string substring - .return _BUILTIN_INSTR(argc,1.0,full,substring) + .tailcall _BUILTIN_INSTR(argc,1.0,full,substring) .end .sub _BUILTIN_UCASE_STRING # string ucase$(string targ) Modified: trunk/languages/BASIC/compiler/RT_debugger.pir ============================================================================== --- trunk/languages/BASIC/compiler/RT_debugger.pir (original) +++ trunk/languages/BASIC/compiler/RT_debugger.pir Sat Jan 10 22:13:23 2009 @@ -34,7 +34,7 @@ add $I0, $I0, $I1 eq $I0, 0, DEBUGGER_COMMAND # If no step mode, and no input, re-prompt - $P1 = _SPLITLINE($S0,1) # P1 will have array of values + $P1 = _SPLITLINE($S0,1) # $P1 will have array of values set $I0, $P1 add $I0, $I0, $I1 @@ -143,18 +143,18 @@ DEBUG_CLEAR: - set P0, P25["watch"] - set I0, P0 - eq I0, 0, DEBUG_CLEAREND - set I1, 0 + set $P0, $P25["watch"] + set $I0, $P0 + eq $I0, 0, DEBUG_CLEAREND + set $I1, 0 DEBUG_CLEARLOOP: - eq I1, I0, DEBUG_CLEAREND - set S1, P0[I1] - eq S1, S0, DEBUG_CLEARBLANK - inc I1 + eq $I1, $I0, DEBUG_CLEAREND + set $S1, $P0[$I1] + eq $S1, $S0, DEBUG_CLEARBLANK + inc $I1 branch DEBUG_CLEARLOOP DEBUG_CLEARBLANK: - set P0[I1], "" + set $P0[$I1], "" branch DEBUG_CLEAREND DEBUG_CLEAREND: ret Modified: trunk/languages/BASIC/compiler/RT_initialize.pir ============================================================================== --- trunk/languages/BASIC/compiler/RT_initialize.pir (original) +++ trunk/languages/BASIC/compiler/RT_initialize.pir Sat Jan 10 22:13:23 2009 @@ -28,7 +28,7 @@ $P0[0]=$P1 $P1 = getstdout #Don't buffer stdout... - $I0 = pioctl $P1, 3, 0 + $P1.'buffer_type'('unbuffered') $P0[1]=$P1 $P1 = getstderr $P0[2]=$P1 Modified: trunk/languages/BASIC/compiler/RT_platform.pir ============================================================================== --- trunk/languages/BASIC/compiler/RT_platform.pir (original) +++ trunk/languages/BASIC/compiler/RT_platform.pir Sat Jan 10 22:13:23 2009 @@ -3,16 +3,16 @@ .include "sysinfo.pasm" .sub _platform_setup # void platform_setup(void) - sysinfo S0, .SYSINFO_PARROT_OS - ne S0, "MSWin32", NOTWIN + sysinfo $S0, .SYSINFO_PARROT_OS + ne $S0, "MSWin32", NOTWIN _win32_setup() branch END NOTWIN: _ansi_setup() END: noop .end .sub _platform_shutdown - sysinfo S0, .SYSINFO_PARROT_OS - ne S0, "MSWin32", NOTWIN + sysinfo $S0, .SYSINFO_PARROT_OS + ne $S0, "MSWin32", NOTWIN _win32_shutdown() branch END NOTWIN: _ansi_shutdown() @@ -22,8 +22,8 @@ get_global $P0, "PRINTCOL" set $P0["value"], 0 set_global "PRINTCOL", $P0 - sysinfo S0, .SYSINFO_PARROT_OS - ne S0, "MSWin32", NOTWIN + sysinfo $S0, .SYSINFO_PARROT_OS + ne $S0, "MSWin32", NOTWIN _win32_screen_clear() branch END NOTWIN: _ansi_screen_clear() @@ -31,18 +31,18 @@ .end #SCREEN_SETXCUR: -# set I1, P6[.VALUE] -# sysinfo S0, .SYSINFO_PARROT_OS -# eq S0, "MSWin32", WIN32_SCREEN_SETXCUR +# set $I1, $P6[.VALUE] +# sysinfo $S0, .SYSINFO_PARROT_OS +# eq $S0, "MSWin32", WIN32_SCREEN_SETXCUR # branch ANSI_SCREEN_SETXCUR # #SCREEN_SETYCUR: -# set I1, P6[.VALUE] -# sysinfo S0, .SYSINFO_PARROT_OS -# eq S0, "MSWin32", WIN32_SCREEN_SETYCUR +# set $I1, $P6[.VALUE] +# sysinfo $S0, .SYSINFO_PARROT_OS +# eq $S0, "MSWin32", WIN32_SCREEN_SETYCUR # branch ANSI_SCREEN_SETYCUR # -# # X in P7, Y in P6 +# # X in $P7, Y in $P6 .sub _screen_locate # void screen_locate(float x, float y) .param num xf .param num yf Modified: trunk/languages/BASIC/compiler/RT_platform_ANSIscreen.pir ============================================================================== --- trunk/languages/BASIC/compiler/RT_platform_ANSIscreen.pir (original) +++ trunk/languages/BASIC/compiler/RT_platform_ANSIscreen.pir Sat Jan 10 22:13:23 2009 @@ -75,22 +75,22 @@ ## These don't work exactly right. ANSI would require that I send ## \e[6n and read the input stream for a \e[row;colR reply from the -## terminal. I *really* can't do that until IO is fixed, because STDIN +## terminal. I *really* can't do that until $IO is fixed, because STDIN ## is line-buffered and asking the user to press return after each cursor ## positioning is lame. #ANSI_SCREEN_SETXCUR: # print "\e[;" -# print I1 +# print $I1 # print "H" # ret # #ANSI_SCREEN_SETYCUR: # print "\e[" -# print I1 +# print $I1 # print ";H" # ret # -# # I0,I1 +# # $I0,$I1 # # QB origin is 1,1 ## QB.exe @@ -103,8 +103,8 @@ .param int fore .param int back print "\e" -# # foreground in I0 -# # background in I1 +# # foreground in $I0 +# # background in $I1 print "[0;" get_global $P0, "ANSI_fgcolors" lt fore, 8, ANSI_FG @@ -168,7 +168,7 @@ .end .sub _set_nonblock # void _set_nonblock - I11= 0 + $I11= 0 $P1 = loadlib "" .local pmc fcntl fcntl = dlfunc $P1, "fcntl", "iiii" @@ -178,7 +178,7 @@ fcntl = dlfunc $P1, "fcntl", "iiil" - $I7 = bor I5, 2048 # O_NONBLOCK 04000 + $I7 = bor $I5, 2048 # O_NONBLOCK 04000 #invoke # nmode=fcntl(0, F_SETFL, mode | O_NONBLOCK) fcntl(STDIN, F_SETFL, $I7) @@ -199,8 +199,8 @@ .sub _TERMIO_scankey get_global $P0, "scankey" - I0= $P0["value"] - eq I0, 1, END + $I0= $P0["value"] + eq $I0, 1, END _set_noecho_cbreak() END: $P0["value"]= 1 @@ -209,8 +209,8 @@ .sub _TERMIO_normal get_global $P0, "scankey" - I0= $P0["value"] - eq I0, 0, END + $I0= $P0["value"] + eq $I0, 0, END _set_echo_nocbreak() END: $P0["value"]= 0