1 function playback_record()
4 __recording_buttons=btn()
5 __recording_buttons_pressed=btnp()
10 local b,bp=btn(),btnp()
11 if b!=__recording_buttons or bp!=__recording_buttons_pressed then
13 __recording_buttons_pressed=bp
14 printh(__recording_frame..","..__recording_buttons..","..__recording_buttons_pressed,playback_filename,__recording_first)
15 __recording_first=false
19 menuitem(playback_menu_idx, "end recording",function()
21 playback_default_menu()
25 function playback_play()
26 function playback_read_line()
29 serial(0x800,0x4300,1)
30 local c=chr(peek(0x4300))
34 if(#data==0)return nil
38 local cx,cy=peek2(0x5f28),peek2(0x5f2a)
39 while stat(120)==false do
41 rectfill(10,50,117,78,0)
43 print("drop playback file",20,60,7)
57 if(b==nil and pl==nil)return _btn_data
59 return (_btn_data&(1<<(b+pl*6)))>0
63 if(b==nil and pl==nil)return _btn_p_data
65 return (_btn_p_data&(1<<(b+pl*6)))>0
68 _playback_next_frame,_playback_next_btn,_playback_next_btnp=unpack(split(playback_read_line()))
74 if __playback_frame>=_playback_next_frame then
75 _btn_data,_btn_p_data=_playback_next_btn,_playback_next_btnp
76 local line=playback_read_line()
77 if(line!=nil)_playback_next_frame,_playback_next_btn,_playback_next_btnp=unpack(split(line))
81 menuitem(playback_menu_idx+1, "end playback",function()
85 playback_default_menu()
89 function playback_default_menu()
90 menuitem(playback_menu_idx, "record playback",function() playback_record() end)
91 menuitem(playback_menu_idx+1, "play playback",function() playback_play() end)
94 if(playback_filename==nil)playback_filename="recording"
95 if(playback_menu_idx==nil)playback_menu_idx=4
96 playback_default_menu()