Tinypad - Run in debugger by F10 key. Fasm - support debug parameter in command mode added

git-svn-id: svn://kolibrios.org@4274 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
tserj 2013-11-21 16:10:45 +00:00
parent 1842871f8f
commit 005bd6ea09
8 changed files with 1898 additions and 1864 deletions

View File

@ -131,6 +131,10 @@ NoOutDebugInfo:
cmp [esi], dword ',run'
jne @f
mov [_run_outfile],1
@@:
cmp [esi], dword ',dbg'
jne @f
mov [_run_outfile],2
@@:
mov [_mode],CONSOLE_MODE
jmp start
@ -662,6 +666,12 @@ display_bytes_count:
mov edx,outfile
call make_fullpaths
xor ecx,ecx
cmp [_run_outfile],2 ; param is ',dbg'
jne run
mcall 70,file_info_debug
jmp @f
run:
mcall 70,file_info_start
@@:
jmp exit_program

View File

@ -33,7 +33,7 @@
; cannot simply be copied and put under another distribution licence
; (including the GNU Public Licence).
VERSION_STRING equ "1.71.13"
VERSION_STRING equ "1.71.14"
VERSION_MAJOR = 1
VERSION_MINOR = 71

View File

@ -18,6 +18,7 @@ define mm.Search.FindNext key.f3
define mm.Search.Replace key.ctrl_h
define mm.Run.Run key.f9
define mm.Run.Debug key.f10
define mm.Run.Compile key.ctrl_f9
define mm.Run.DbgBoard open_debug_board
define mm.Run.SysFuncs open_sysfuncs_txt

View File

@ -58,13 +58,13 @@ popup_res mm.File,\
et,'-' ,'' , ,\
et,'Välju' ,'Alt+X' ,Exit,\
\
sp,'Nuevo' ,'Ctrl+N' ,New ,\
sp,'Nuevo' ,'Ctrl+N' ,New ,\
sp,'Abrir...' ,'Ctrl+O' ,Open ,\
sp,'Guardar' ,'Ctrl+S' ,Save ,\
sp,'Guardar' ,'Ctrl+S' ,Save ,\
sp,'Guardar como...','Ctrl+Shift+S',SaveAs,\
sp,'-' ,'' , ,\
sp,'Cerrar' ,'Ctrl+F4' ,Close ,\
sp,'-' ,'' , ,\
sp,'-' ,'' , ,\
sp,'Cerrar' ,'Ctrl+F4' ,Close ,\
sp,'-' ,'' , ,\
sp,'Salir' ,'Alt+X' ,Exit
popup_res mm.Edit,\
@ -89,11 +89,11 @@ popup_res mm.Edit,\
et,'-' ,'' , ,\
et,'Vali kõik' ,'Ctrl+A',SelAll,\
\
sp,'Cortar' ,'Ctrl+X',Cut ,\
sp,'Cortar' ,'Ctrl+X',Cut ,\
sp,'Copiar' ,'Ctrl+C',Copy ,\
sp,'Pegar' ,'Ctrl+V',Insert,\
sp,'Eliminar' ,'' ,Delete,\
sp,'-' ,'' , ,\
sp,'Eliminar' ,'' ,Delete,\
sp,'-' ,'' , ,\
sp,'Seleccionar todo','Ctrl+A',SelAll
popup_res mm.Search,\
@ -116,34 +116,38 @@ popup_res mm.Search,\
et,'Asenda...' ,'Ctrl+H',Replace ,\
\
sp,'Posición...','Ctrl+G',Position,\
sp,'-' ,'' , ,\
sp,'-' ,'' , ,\
sp,'Buscar...' ,'Ctrl+F',Find ,\
sp,'Buscar siguiente' ,'F3' ,FindNext,\
sp,'Buscar siguiente' ,'F3' ,FindNext,\
sp,'Reemplazar...' ,'Ctrl+H',Replace
popup_res mm.Run,\
ru,'‡ ¯ãáâ¨âì' ,'F9' ,Run ,\
ru,'‡ ¯ãáâ¨âì ¢ ¤¥¡ ££¥à¥','F10',Debug ,\
ru,'Š®¬¯¨«¨à®¢ âì' ,'Ctrl+F9',Compile ,\
ru,'-' ,'' , ,\
ru,'„®áª  ®â« ¤ª¨' ,'' ,DbgBoard,\
ru,'‘¨á⥬­ë¥ ä㭪樨','' ,SysFuncs,\
\
en,'Run' ,'F9' ,Run ,\
en,'Run in debugger' ,'F10' ,Debug ,\
en,'Compile' ,'Ctrl+F9',Compile ,\
en,'-' ,'' , ,\
en,'Debug board' ,'' ,DbgBoard,\
en,'System functions' ,'' ,SysFuncs,\
\
et,'Käivita' ,'F9' ,Run ,\
et,'Käivita aastal siluri' ,'F10' ,Debug ,\
et,'Kompileeri' ,'Ctrl+F9',Compile ,\
et,'-' ,'' , ,\
et,'Silumis paneel' ,'' ,DbgBoard,\
et,'Süsteemi funktsioonid' ,'' ,SysFuncs,\
\
sp,'Ejecutar' ,'F9' ,Run ,\
sp,'Ejecutar en el depurador' ,'F10' ,Debug ,\
sp,'Compilar' ,'Ctrl+F9',Compile ,\
sp,'-' ,'' , ,\
sp,'Depuración' ,'' ,DbgBoard,\
sp,'Depuración' ,'' ,DbgBoard,\
sp,'Funciones del sistema' ,'' ,SysFuncs
popup_res mm.Encoding,\
@ -187,14 +191,14 @@ popup_res mm.Options,\
et,'-' ,'', ,\
et,'Rea numbrid' ,'',LineNumbers ,\
\
sp,'Apariencia...' ,'',Appearance ,\
sp,'-' ,'', ,\
sp,'Apariencia...' ,'',Appearance ,\
sp,'-' ,'', ,\
sp,'Selección segura' ,'',SecureSel ,\
sp,'Paréntesis automáticos' ,'',AutoBrackets,\
sp,'Identación automática' ,'',AutoIndents ,\
sp,'Tabulación inteligente' ,'',SmartTabs ,\
sp,'Paréntesis automáticos' ,'',AutoBrackets,\
sp,'Identación automática' ,'',AutoIndents ,\
sp,'Tabulación inteligente' ,'',SmartTabs ,\
sp,'Llenado óptimo al guardar','',OptimalFill ,\
sp,'-' ,'', ,\
sp,'-' ,'', ,\
sp,'Números en líneas' ,'',LineNumbers
lsz s_defname,\

View File

@ -62,6 +62,7 @@ accel_table_main dd \
0x0000001C,key.return ,\ ; Return
0x0000003D,key.f3 ,\ ; F3
0x00000043,key.f9 ,\ ; F9
0x00000044,key.f10 ,\ ; F10
0x00000147,key.home ,\ ; Home
0x00000148,key.up ,\ ; Up
0x00000149,key.pgup ,\ ; PageUp

View File

@ -1,171 +1,175 @@
HISTORY:
4.0.6 (26/09/2010, Marat Zakiyanov aka Mario79, aka Mario)
new features:
- Select file path with OpenDialog for Load and Save.
4.0.5 (Rus, mike.dld)
bug-fixes:
- new tab is created when opening a file from Tinypad's home folder
(was opening in current tab if there was a new file, even modified)
- show "save file" dialog for new files or files from Tinypad's home folder
- line is redrawn after lining up a single char and then deleting it
(pressing Del twice) [#1]
- update tab/window title and highlighting mode after file save
- allocate 1024 bytes in case file not found (avoid crash)
changes:
- max line length changed back to 4GB, each line overhead is 6 bytes now
- settings are stored in INI file (using libini), allowing binary to be compressed
new features:
- prompt to save modified file before closing (+fixes)
- button to close current tab (+fixes)
- mouse scroll wheel support
- numpad support
4.0.4 (mike.dld)
bug-fixes:
- statusbar contained hint after dialog operation cancelled
- small drawing fix for gutter and line saved/modified markers
(incorrect calculations)
- incorrect lines marking on Ctrl+V
- put filename of current tab into open/save dialog (noticed by Maxxxx32)
changes:
- editor and other modifications to ease parts placement changing,
including changes in look
- modified/saved colors now match those in MSVS
- function 70 for *all* file operations (including diamond's fixes)
- use memory manager instead of statically allocated region
- case-insensitive filenames input, to be able to open/save files with
non-latin chars in name (russian etc.)
- reduced flickering (changes checker)
- overall code cleanup
new features:
- recode tables between CP866, CP1251 and KOI8-R (suggested by Victor)
- tabbed interface, ability to open several files in one app instance
(thanks IRC guys for ideas and testing)
- make any tab default to compile it disregarding currently active tab
- configuration dialog (colors, tabs positioning)
4.0.3 (mike.dld)
bug-fixes:
- 1-char selection if pressing <BS> out of real line length
- fault in `writepos`, added call to function 9
- main menu items weren't highlighted if popup opened and cursor
isn't in main menu item's area
- statusbar and textboxes drawing fixes (wrong colors)
- perform no redraw while pressing Shift, Ctrl, Alt keys
- data length from DOCPAK in string representation (fixed by diamond)
- compare file extension case-insensitively (fixed by diamond)
changes:
- function 70 instead of 58 for files loading/saving
- clientarea-relative drawing (less code)
- every line's dword is now splitted into 2 words;
low word - line block length, so max line length is 64KB now
high word - various flags. for now, only 2 of 16 bits are used:
if bit #0 is set, line was modified since file open
if bit #1 is set, line was saved after last modification
high word could also be further used for code collapsing and different
line marking features (breakpoints, errors, bookmarks, etc.)
new features:
- line markers for modified and saved lines
- status messages for various actions
4.0.2 (mike.dld)
bug-fixes:
- program terminates if started with parameters (fine for DOCPAK)
4.0.1 (mike.dld)
bug-fixes:
- unable to run program after exiting from main menu (Alt+X)
new features:
- integration with DOCPAK
4.0 (mike.dld)
bug-fixes:
- main menu popups' "on show" was called only for first shown popup
- clear selection on left/right arrow keys
new features:
- "replace" dialog (w/o "skip", "replace all")
- line numbers display
- options (except "appearance" and "smart tabulation")
- options saving (colors, window position, "Options" popup triggers)
4.0 beta 2 (mike.dld)
bug-fixes:
- unable to start if /rd/1/example.asm is missing (from Halyavin)
- clicking on menu items draws main window in popup (from Rohan)
- passed parameters aren't taken into account (from Mario79)
- background isn't erased if text lines < screen lines after
selection deletion (from Rohan)
4.0 beta 1 (mike.dld)
menu bar and popup menu;
removed buttons from the top and input fields from the bottom since
now they're accesible through main/popup menu;
improved keyboard handling (using 66th function);
support for almost all FASMW keyboard shourtcuts;
added text selection ability, standard selection operations
(copy,cut,paste);
new integrated dialogs (open, save, find)
fix to collapse SPACEs into TABs only for *.asm and *.inc files
3.78a (mike.dld)
fixed termination while typing in x positions higher than (line_length+10);
improved drawing on small heights
don't draw window while its height = 0 (Kolibri "minimize" support)
3.78 (mike.dld)
now lines may be of ANY length;
optimized memory usage (less memory for internal file representation)
after loading file, it's internal size equals to its real size
plus 14 bytes for each line (4 bytes for line length
and 10 spaced to the end - to reduce data relocations count);
completely rewritten keyboard handling;
added horizontal scrollbar;
all line feed formats are supported: WIN(CRLF),*NIX(LF),MAC(CR);
etc.
3.77 (mike.dld)
changed save_string to collapse SPACEs into TABs;
rewrote drawfile from scratch (speed++)
through some drawing improvements needed
(some checkups to reduce flickering);
writepos (size--);
fixed drawing window while height < 100px, and for non-asm files;
several small fixes; speed/size optimizations
3.76 (mike.dld)
changed loadfile/loadhdfile to expand TABs into SPACEs;
changed TAB,ENTER,DELETE,BSPACE keys behaviour (rewritten from scratch);
vertical scrollbar;
extra window resizing capabilities (added a couple of constants);
completely new text cursor management & moving text cursor with mouse;
improved search function, moving cursor to beginning of text found;
adjustable max line width (change LINE_WIDTH & recompile) // (obsolet)
3.75a
fixed converting char to upper case in read_string
3.75
rewrote save_file from scratch; bugfix in loadfile;
3.74
optimisation
3.73
completly new load_file function
3.72
speed++
3.71
error beep
3.6,3.7:
many bugs fixed
simple toolbar
compile, run applications from TINYPAD, all fasm output is in debug board
TAB button
auto-indent
Ctrl+L - insert comment string
HISTORY:
4.0.7 (21/11/2013, Sergey Tyrnov aka tserj)
new feature:
- Run in debugger by F10
4.0.6 (26/09/2010, Marat Zakiyanov aka Mario79, aka Mario)
new features:
- Select file path with OpenDialog for Load and Save.
4.0.5 (Rus, mike.dld)
bug-fixes:
- new tab is created when opening a file from Tinypad's home folder
(was opening in current tab if there was a new file, even modified)
- show "save file" dialog for new files or files from Tinypad's home folder
- line is redrawn after lining up a single char and then deleting it
(pressing Del twice) [#1]
- update tab/window title and highlighting mode after file save
- allocate 1024 bytes in case file not found (avoid crash)
changes:
- max line length changed back to 4GB, each line overhead is 6 bytes now
- settings are stored in INI file (using libini), allowing binary to be compressed
new features:
- prompt to save modified file before closing (+fixes)
- button to close current tab (+fixes)
- mouse scroll wheel support
- numpad support
4.0.4 (mike.dld)
bug-fixes:
- statusbar contained hint after dialog operation cancelled
- small drawing fix for gutter and line saved/modified markers
(incorrect calculations)
- incorrect lines marking on Ctrl+V
- put filename of current tab into open/save dialog (noticed by Maxxxx32)
changes:
- editor and other modifications to ease parts placement changing,
including changes in look
- modified/saved colors now match those in MSVS
- function 70 for *all* file operations (including diamond's fixes)
- use memory manager instead of statically allocated region
- case-insensitive filenames input, to be able to open/save files with
non-latin chars in name (russian etc.)
- reduced flickering (changes checker)
- overall code cleanup
new features:
- recode tables between CP866, CP1251 and KOI8-R (suggested by Victor)
- tabbed interface, ability to open several files in one app instance
(thanks IRC guys for ideas and testing)
- make any tab default to compile it disregarding currently active tab
- configuration dialog (colors, tabs positioning)
4.0.3 (mike.dld)
bug-fixes:
- 1-char selection if pressing <BS> out of real line length
- fault in `writepos`, added call to function 9
- main menu items weren't highlighted if popup opened and cursor
isn't in main menu item's area
- statusbar and textboxes drawing fixes (wrong colors)
- perform no redraw while pressing Shift, Ctrl, Alt keys
- data length from DOCPAK in string representation (fixed by diamond)
- compare file extension case-insensitively (fixed by diamond)
changes:
- function 70 instead of 58 for files loading/saving
- clientarea-relative drawing (less code)
- every line's dword is now splitted into 2 words;
low word - line block length, so max line length is 64KB now
high word - various flags. for now, only 2 of 16 bits are used:
if bit #0 is set, line was modified since file open
if bit #1 is set, line was saved after last modification
high word could also be further used for code collapsing and different
line marking features (breakpoints, errors, bookmarks, etc.)
new features:
- line markers for modified and saved lines
- status messages for various actions
4.0.2 (mike.dld)
bug-fixes:
- program terminates if started with parameters (fine for DOCPAK)
4.0.1 (mike.dld)
bug-fixes:
- unable to run program after exiting from main menu (Alt+X)
new features:
- integration with DOCPAK
4.0 (mike.dld)
bug-fixes:
- main menu popups' "on show" was called only for first shown popup
- clear selection on left/right arrow keys
new features:
- "replace" dialog (w/o "skip", "replace all")
- line numbers display
- options (except "appearance" and "smart tabulation")
- options saving (colors, window position, "Options" popup triggers)
4.0 beta 2 (mike.dld)
bug-fixes:
- unable to start if /rd/1/example.asm is missing (from Halyavin)
- clicking on menu items draws main window in popup (from Rohan)
- passed parameters aren't taken into account (from Mario79)
- background isn't erased if text lines < screen lines after
selection deletion (from Rohan)
4.0 beta 1 (mike.dld)
menu bar and popup menu;
removed buttons from the top and input fields from the bottom since
now they're accesible through main/popup menu;
improved keyboard handling (using 66th function);
support for almost all FASMW keyboard shourtcuts;
added text selection ability, standard selection operations
(copy,cut,paste);
new integrated dialogs (open, save, find)
fix to collapse SPACEs into TABs only for *.asm and *.inc files
3.78a (mike.dld)
fixed termination while typing in x positions higher than (line_length+10);
improved drawing on small heights
don't draw window while its height = 0 (Kolibri "minimize" support)
3.78 (mike.dld)
now lines may be of ANY length;
optimized memory usage (less memory for internal file representation)
after loading file, it's internal size equals to its real size
plus 14 bytes for each line (4 bytes for line length
and 10 spaced to the end - to reduce data relocations count);
completely rewritten keyboard handling;
added horizontal scrollbar;
all line feed formats are supported: WIN(CRLF),*NIX(LF),MAC(CR);
etc.
3.77 (mike.dld)
changed save_string to collapse SPACEs into TABs;
rewrote drawfile from scratch (speed++)
through some drawing improvements needed
(some checkups to reduce flickering);
writepos (size--);
fixed drawing window while height < 100px, and for non-asm files;
several small fixes; speed/size optimizations
3.76 (mike.dld)
changed loadfile/loadhdfile to expand TABs into SPACEs;
changed TAB,ENTER,DELETE,BSPACE keys behaviour (rewritten from scratch);
vertical scrollbar;
extra window resizing capabilities (added a couple of constants);
completely new text cursor management & moving text cursor with mouse;
improved search function, moving cursor to beginning of text found;
adjustable max line width (change LINE_WIDTH & recompile) // (obsolet)
3.75a
fixed converting char to upper case in read_string
3.75
rewrote save_file from scratch; bugfix in loadfile;
3.74
optimisation
3.73
completly new load_file function
3.72
speed++
3.71
error beep
3.6,3.7:
many bugs fixed
simple toolbar
compile, run applications from TINYPAD, all fasm output is in debug board
TAB button
auto-indent
Ctrl+L - insert comment string

View File

@ -2,8 +2,8 @@
; project name: TINYPAD
; compiler: flat assembler 1.67.21
; memory to compile: 3.0/9.0 MBytes (without/with size optimizations)
; version: SVN (4.0.5)
; last update: 2008-07-18 (Jul 18, 2008)
; version: SVN (4.0.7)
; last update: 2013-11-21 (Nov 21, 2013)
; minimal kernel: revision #823 (svn://kolibrios.org/kernel/trunk)
;-----------------------------------------------------------------------------
; originally by: Ville Michael Turjanmaa >> villemt@aton.co.jyu.fi
@ -35,7 +35,7 @@ include 'tinypad.inc'
header '01',1,@CODE,TINYPAD_END,STATIC_MEM_END,MAIN_STACK,@PARAMS,ini_path
APP_VERSION equ 'SVN (4.0.6)'
APP_VERSION equ 'SVN (4.0.7)'
TRUE = 1
FALSE = 0
@ -193,9 +193,9 @@ section @CODE ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
xor eax,eax
mov [edi],al
;---------------------------------------------------------------------
;OpenDialog initialisation
push dword OpenDialog_data
call [OpenDialog_Init]
;OpenDialog initialisation
push dword OpenDialog_data
call [OpenDialog_Init]
;---------------------------------------------------------------------
@ -242,8 +242,8 @@ still:
mov [OpenDialog_data.type],eax
popa
; invoke OpenDialog
push dword OpenDialog_data
call [OpenDialog_Start]
push dword OpenDialog_data
call [OpenDialog_Start]
cmp [OpenDialog_data.status],1
jne .3
@ -257,7 +257,7 @@ still:
mov eax,edi
mov [tb_opensave.length],al
popa
cmp [bot_mode2],0
je .2
call save_file
@ -293,7 +293,7 @@ copy_str_2:
xor eax,eax
mov [esi],al
inc esi
mov edi,edx ; edi filename_area
mov edi,edx ; edi filename_area
call copy_str_1
ret
;-----------------------------------------------------------------------------
@ -466,7 +466,9 @@ endp
;-----------------------------------------------------------------------------
proc start_fasm ;/////////////////////////////////////////////////////////////
;-----------------------------------------------------------------------------
; BL = run after compile
; BL = 0 - compile
; BL = 1 - run after compile
; BL = 2 - run under mtdbg after compile
;-----------------------------------------------------------------------------
; FASM infile,outfile,/path/to/files[,run]
;-----------------------------------------------------------------------------
@ -516,11 +518,15 @@ proc start_fasm ;/////////////////////////////////////////////////////////////
sub ecx,esi
rep movsb
cmp bl,0 ; run outfile ?
cmp bl,0 ; compile outfile ?
je @f
mov dword[edi],',run'
cmp bl,1 ; run outfile ?
je do_run
mov dword[edi],',dbg'
do_run:
add edi,4
@@:
@@:
mov al,0
stosb
@ -696,7 +702,7 @@ temp_dir_pach:
rb 4096
;---------------------------------------------------------------------
fname_Info:
rb 4096 ; filename
rb 4096 ; filename
;---------------------------------------------------------------------
filename_area:
rb 256

File diff suppressed because it is too large Load Diff