flat assembler
Message board for the users of flat assembler.
Index
> IDE Development > File selector in DOS IDE |
Author |
|
Tomasz Grysztar 07 Mar 2009, 12:41
Thanks for pointing out some important mistakes. I'm going to fix them this weekend, as I'm now at my old DOS machine.
To change the directory, you have to write backslash at the end, like E:\BLAH\ - if you write it without backlash, it is assumed that you mean file name. As for the shortages other than bugs, please be forgiving, but fasmd isn't really on top of what is wanted in the fasm's development and the only reason why I continue it is because of my sentiments. So it's very unlikely it'll become a top-notch product, but I try to make it at least basically usable. |
|||
07 Mar 2009, 12:41 |
|
DOS386 07 Mar 2009, 12:57
Tomasz Grysztar wrote: To change the directory, you have to write backslash at the end, like E:\BLAH\ But EDR-DOS rejects pathes ending with a blackslash ... also in its own CD command Quote: if you write it without backlash, it is assumed that you mean file name. But the "icons" are always correct (file, dir, volume) ... so why does it later try to load something as a file what used to be correctly recognized as directory ? Quote: shortages other than bugs, please be forgiving, but fasmd isn't really on top of what is wanted in the fasm's development and the only reason why I continue it is because of my sentiments. So it's very unlikely it'll become a top-notch product It almost is Quote: but I try to make it at least basically usable. I can fix it myself ... a bit a pain with ZERO commenting, but doable. |
|||
07 Mar 2009, 12:57 |
|
Tomasz Grysztar 07 Mar 2009, 14:10
DOS386 wrote:
What you write into the edit box is not necessarily the same what is then sent into OS. So that's not a problem - I just have to fix that bug. DOS386 wrote:
|
|||
07 Mar 2009, 14:10 |
|
DOS386 12 Mar 2009, 01:08
New in 1.67.35:
- Fixed directory change bug (now works up and down) - Added debug support in DOS IDE (oops forgot to test ) - Killed AbortRetryF*** : Code: push ds cs pop ds mov ax,2524h mov dx,dos_error_handler int 21h pop ds Code: dos_error_handler: mov al,3 retfw IIRC the DPMI host should care about this ... only a few buggy don't ... but shouldn't there be an IRET instead of RETF ? What remains is the invalid volume letter trouble: regrettably my post above is somewhat incorrect about this, the "too much" letter is indeed reported as "valid" by the "FCB parse" hack, it's an inactive RAMDISK, and behaves the very same way as A: with no floppy in. But the bug is that any attempt to use an invalid letter from the list causes a mess: Code: browser_drive_ok: push 0 ; <<<--- here cmp dword [buffer],'..' jne name_to_select_ok mov edi,buffer+3000h mov al,'\' find_last_directory_name: mov esi,edi repne scasb cmp byte [edi],0 jne find_last_directory_name lea ecx,[edi-1] sub ecx,esi mov edi,buffer+400h mov [esp],ecx mov ebx,upper_case_table get_name_to_select: lodsb xlatb stosb loop get_name_to_select name_to_select_ok: mov edi,buffer+3000h call get_current_directory jc browser_drive_invalid ; <<<--- here cmp byte [edi-2],'\' je browser_new_path_ok mov word [edi-1],'\' browser_new_path_ok: call make_list_of_files call draw_browser_path mov ebx,filename_buffer xor eax,eax mov [ebx+8],eax mov [ebx+12],eax mov [ebx+16],al mov ebx,boxes mov esi,[file_list] mov [ebx+12],esi mov ecx,[file_list_buffer_top] sub ecx,esi shr ecx,2 mov [ebx+6],cx xor eax,eax mov [ebx+8],eax mov eax,esi pop edx ; <<<--- here find_name_to_select: I couldn't determine the purpose of the push 0 but I'm pretty sure it is the source of this BUG: if letter is invalid then the ZERO gets never POPE'd away and then the sub "RET"'s to address ZERO instead back where called from |
|||
12 Mar 2009, 01:08 |
|
revolution 12 Mar 2009, 02:32
DOS386 wrote:
|
|||
12 Mar 2009, 02:32 |
|
DOS386 13 Mar 2009, 01:24
revolution wrote:
Quote: imagine that the value of ecx has some importance? Indeed Still, the BUG was in there as I wrote above. Tomasz wrote: Quote: (nothing here in) OTOH, he fixed the "IRET-BUG" and the "never-POPE'd-ZERO-BUG" , updated the (C)'s and silently uploaded new versions of DOS and Win32 packages So the DOS directory browsing should be fully functional now (I'm going to test thoroughly). Thanks |
|||
13 Mar 2009, 01:24 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.