Page 4 of 30
Re: Wild Commander
Posted:
Mon, 29.07.2013 22:13:56
by VBI
эх блин))
говорю-же - провокация)))
Re: Wild Commander
Posted:
Mon, 29.07.2013 22:29:43
by LessNick
Это не провокация, а мотивация
Re: Wild Commander
Posted:
Tue, 30.07.2013 08:40:15
by DimkaM
VBI wrote:нормальные имена фалов
"КакиетоДиззиИЭксолон.trd МояСупериграНаБейсике128.trd ХзЧёЕщёНеСмотрел001.trd" - вот это явно ненормальные имена
Re: Wild Commander
Posted:
Tue, 30.07.2013 09:01:45
by VBI
Дим, вот свежий пример: placebo-hb_sveta.trd. получше, чем placeb~1.trd.
много придётся переделать, если из 32байт на запись сделать, например, 48 или 64?
например, 48:
;------Шаблон элемента каталога:--------
ENTRY DS 27
EFLG DB 0,0
DB #00;ms
DW #7000:DW #3910;time,date
DW #3910;acc date
CLSDE DS 2
DW #7000:DW #3910;time,date
CLSHL DS 2
SIZIK DS 4
NOP
это DSDZC.ASM
Re: Wild Commander
Posted:
Tue, 30.07.2013 09:29:07
by DimkaM
VBI wrote:Дим, вот свежий пример: placebo-hb_sveta.trd. получше, чем placeb~1.trd.
Полностью согласен.
Выше пост был оффтопом, камнем в огород блондинкам. Накипело. Которые потом эти файлы отправляют по почте. Почтовый сервер эти имена коверкает как хочет, вплоть до удаления расширения, замены пробелов на %20. А мне блять надо чтоп 1Ска подцепила этот экселевский файл и обработала, а она ругается и не хочет его цеплять потомучто имя уёбищное. Вернее сама 1Ска его цепляет, но
xl=СоздатьОбъект("Excel.Application");
xl.Workbooks.Open(путь);
выдаёт ошибку. Я то эксепшен отлавливаю, програмно переименовываю файл, сообщаю об этом юзеру. Но блять тупая блондинка(уже в нашей конторе) звонит мне и говорит "Дим у меня ниче не работает, скачала файл на рабочий стол, обработала, а его там нет!!!"
Re: Wild Commander
Posted:
Tue, 30.07.2013 09:56:21
by DimkaM
VBI wrote:много придётся переделать, если из 32байт на запись сделать, например, 48 или 64?
например, 48:
Что там у Баддера незнаю. лонгнейм потдерживает(теоретически) до ~250 символов. Теоретически потому что полный путь до 256(255?!) символов(байт?! непомню).
Я юзаю вот такую структуру
- Code: Select all
/* File status structure (FILINFO) */
typedef struct {
DWORD fsize; /* File size */
WORD fdate; /* Last modified date */
WORD ftime; /* Last modified time */
BYTE fattrib; /* Attribute */
TCHAR fname[13]; /* Short file name (8.3 format) */
#if _USE_LFN
TCHAR* lfname; /* Pointer to the LFN buffer */
UINT lfsize; /* Size of LFN buffer in TCHAR */
#endif
} FILINFO;
lfname указатель на буфер куда функция FRESULT f_readdir (DIR*, FILINFO*) поместит лонгнейм.
От меня в эту структуру были добавлены пару указателей(+номера паг) на предыдущую и следующую структуры и флаг маркировки(в панели).(без лонгнейма)
- Code: Select all
/* FILE STATUS STRUCTURE (FILINFO) */
STRUCT FILINFO
FSIZE DWORD ;/* FILE SIZE */
FDATE WORD ;/* LAST MODIFIED DATE */
FTIME WORD ;/* LAST MODIFIED TIME */
FATTRIB BYTE ;/* ATTRIBUTE */
FNAME BLOCK 16,0 ;/* SHORT FILE NAME (8.3 FORMAT) */
MARK byte ;marking
NEXT WORD
NEXTP BYTE
PREV WORD
PREVP BYTE
;RESERV dw
ENDS
Вот собственно чтение и сортировка записей(без лонгнейма)(с комментированием напряжонка):
- Code: Select all
readfnos
ld a,mem.fat_p
ld bc,mem.b1
out (c),a
WIN_GETPAGES a
ld (.num),a
ld b,high mem.b2
out (c),a
ld de,0xc000
ld (ix+txt.FWIN.fno_1),de
ld (ix+txt.FWIN.p_fno_1),a
MEM_SET 0x8000,0,0x20
ld a,(ix+txt.FWIN.drive):add a,0x30:ld (curdir),a
ld de,dir
ld bc,curdir
F_OPDIR
.l2 ld bc,0x8000
.l1 ld de,dir
F_RDIR
push bc:pop iy
ld a,FILINFO.FNAME:add c:ld c,a
LD A,(BC):or a:ret z
dec c
sub 0x2e:or (iy+FILINFO.FNAME+1)
jr z,.l2 ;пропускаем точку
ld a,(bc):and 0x10:jr nz,.cat
ld a,0x20
.cat ld (bc),a
ld d,b,e,c
push bc
call fno_sort
pop bc
ADDBC8 0x18
bit 6,b:jr z,.l1
ld hl,.num:inc (hl)
ld bc,mem.b2:ld a,(hl)
out (c),a
ld bc,0x8000
jr .l1
.num word 0
fno_sort
xor a:ld hl,0x8008:sbc hl,de:jp z,.first
ld a,(ix+txt.FWIN.p_fno_1)
ld bc,mem.b3
out (c),a
ld (.num),a
ld a,(ix+txt.FWIN.fno_1):ld h,(ix+txt.FWIN.fno_1+1)
add FILINFO.FATTRIB:ld l,a
.l3 ld a,(de):cp (hl):jr .cat
.l2 inc l,e
ld a,(de):or (hl):jr z,.prev
ld a,(de):cp (hl)
.cat jr z,.l2
jr c,.prev
ld a,l
and %11100000:or FILINFO.NEXT:ld l,a ;get fno
ld c,(hl):inc hl:ld b,(hl):inc hl:ld a,(hl)
or a:jr z,.new
ld hl,FILINFO.FNAME-1 ; -4000+9
add hl,bc
ld bc,mem.b3:out (c),a
ld (.num),a
ld a,e:and %11100000
or FILINFO.FATTRIB:ld e,a ;взад на имя
jr .l3
.new ;добавим после текущего
ld a,l:and %11100000:ld l,a ;смещение в ноль
push hl:ex (sp),ix ;в индексный
push iy:pop de:set 6,d
xor a
ld (iy+FILINFO.NEXTP),a ;устанавливаем следующий фно zero
ld a,(.num)
ld (iy+FILINFO.PREVP),a ;устанавливаем предыдущий
ld (iy+FILINFO.PREV),hl
ld (ix+FILINFO.NEXT),de ;устанавливаем следующий
ld a,(readfnos.num)
ld (ix+FILINFO.NEXTP),a
pop ix:ret
.prev ;вставим перед текущим
ld a,l:and %11100000:ld l,a ;смещение в ноль
push hl:ex (sp),ix ;в индексный
push iy:pop de:set 6,d
ld a,(.num)
ld (iy+FILINFO.NEXTP),a
ld (iy+FILINFO.NEXT),hl ;устанавливаем следующий фно
ld hl,(ix+FILINFO.PREV) ;берём предыдущий фно
ld (iy+FILINFO.PREV),hl ;устанавливаем предыдущий
ld (ix+FILINFO.PREV),de ;устанавливаем предыдущий
ld a,(readfnos.num):ld b,a
ld a,(ix+FILINFO.PREVP)
ld (ix+FILINFO.PREVP),b
ld (iy+FILINFO.PREVP),a
pop ix
or a:jr z,.firstfno ;если ноль то первый элемент списка
ld bc,mem.b3:out (c),a
push hl:pop iy
ld (iy+FILINFO.NEXT),de ;установим следующим
ld a,(readfnos.num)
ld (iy+FILINFO.NEXTP),a
ret
.first
push iy:pop de:set 6,d
xor a
ld (iy+FILINFO.PREVP),a
ld (iy+FILINFO.NEXTP),a
.firstfno
ld (ix+txt.FWIN.fno_1),de ;запомним первый элемент списка
ld a,(readfnos.num)
ld (ix+txt.FWIN.p_fno_1),a
ret
Re: Wild Commander
Posted:
Tue, 30.07.2013 10:39:14
by DimkaM
гы. смотрю и нихера не понимаю
Re: Wild Commander
Posted:
Tue, 30.07.2013 21:59:46
by Koshi
как бы все тут:
http://zx-evo-fpga.googlecode.com/svn/b ... C_todo.txtнаибольший приоритет у того, что вверху.
Re: Wild Commander
Posted:
Sun, 25.08.2013 10:08:49
by Koshi
v0.50 (24.08.2013):
.правлен баг: вешался прогресс бар, на файлах меньше 64 байт
.увеличен размер видео буфера, выделяемого плагинам (добавлен 3й видео экран, см. функционал)
.добавлены параметры панелей в INI файл (изменена версия такового)
.в сборку добавлена версия коммандера 80x25 (WildCommanderWide)
P.S. первый пост так же обновил
Re: Wild Commander
Posted:
Sun, 25.08.2013 10:51:50
by Buyan
Koshi wrote:.добавлены параметры панелей в INI файл (изменена версия такового)
А как это должно работать? У меня используется только SDzc, прописал единицы в конфиг для обоих панелей, но все равно каждый раз при ресете device not found выскакивает, причем если раньше это один раз было, то теперь два раза приходится выбирать..
Re: Wild Commander
Posted:
Sun, 25.08.2013 13:04:44
by Koshi
Buyan, фиксед )
P.S. перезалил хобеты
Re: Wild Commander
Posted:
Sun, 25.08.2013 13:50:25
by Buyan
Koshi wrote:фиксед )
Спасибо! Работает как надо
Re: Wild Commander
Posted:
Mon, 02.09.2013 21:37:50
by amixgris
Итак, во избежание всяческих там эксцессов реквестирую добавление в WC API следующих функций:
1) запуск ПДП с возможностью установки выравнивания для источника и/или приёмника,
2) запуск ПДП в режиме блиттера;
3) запуск ПДП в режиме зачистки памяти;
4) запуск ПДП с адресатом CRAM;
5) запуск ПДП с адресатом SFILE.
Re: Wild Commander
Posted:
Mon, 04.11.2013 11:30:31
by Black_Cat
Hi Koshi. Глянь пож. сюда:
viewtopic.php?f=9&t=330&p=7067#p7067 . Нельзя ли пересобрать на базе твоего Wild Commander максимально упрощённую и урезанную в функционале Lite версию?
Re: Wild Commander
Posted:
Sun, 17.11.2013 06:05:05
by Koshi
Black_Cat wrote:Нельзя ли пересобрать на базе твоего Wild Commander максимально упрощённую и урезанную в функционале Lite версию?
лайтов не планирую, хотя под обычный zx128 есть планы переделать...
---
v0.53 (16.11.2013):.
правлен баг: убрано обращение к порту #2AAF
.
правлен баг: запуск SPGv0.x не работал
P.S. обновляться в обязательном порядке (до конфы), критичный баг
Re: Wild Commander
Posted:
Tue, 19.11.2013 22:00:02
by VBI
Koshi, подскажи, а F4 вообще не работает? edit написано, а тыкать бесполезно.
хотел wc.ini поправить
Re: Wild Commander
Posted:
Wed, 20.11.2013 07:07:14
by Koshi
пока-что не работает ;P
Re: Wild Commander
Posted:
Wed, 20.11.2013 07:57:51
by g0blinish
скринсейвер ещо не допилили?
Re: Wild Commander
Posted:
Tue, 26.11.2013 18:09:26
by Koshi
VBI wrote:здесь исходников ещё нет загрузки тапа?
лень заливать было ТТ
со след. версией плагина мб появятся...
Re: Wild Commander
Posted:
Tue, 26.11.2013 19:07:26
by noleg
я поймал себя на мысли, что понятней смотреть дебаг в анриле чем исходники
Re: Wild Commander
Posted:
Sat, 30.11.2013 01:07:48
by Koshi
v0.54 (29.11.2013):.добавлено выставление внутренней частоты по выходу из плагинов (задается в ини)
.добавлено отображение пути к активному каталогу
.добавлен раздел
SETUP в
ini файл (можно задать частоту процессора и выбрать режим хранения позиций панелей в ОЗУ)
.добавлен плагин:
TAP Mounter.добавлен плагин:
IFF/ILBM ViewerP.S. так же залил все сорцы
---
небольшой пак пикч:
https://www.dropbox.com/s/w6wetesv5kw52um/ILBM.ZIP
Re: Wild Commander
Posted:
Sat, 30.11.2013 04:11:21
by TS-Labs
Кэш в запуске хобет добавил?
Re: Wild Commander
Posted:
Tue, 03.12.2013 00:08:26
by Koshi
v0.55 (02.12.2013):
.расширен функционал плагинной системы, сменена версия таковой (функции DMAPL, GVtm, GVtl, GVsgp)
.увеличен размер графического буфера до 64 страниц (1мб)
.исправлен баг: не сбрасывался путь в панели при запуске, если носитель отсутствовал
.обновлена документация на плагинную систему
P.S. всем новым плагинам в заголовке теперь нужно указывать версию #03!
Re: Wild Commander
Posted:
Tue, 03.12.2013 22:57:10
by VBI
Koshi, большое спасибо за ТАП-лоадер.
если это возможно, добавь в плаг варианты загрузки: оригинальный (по времени), турбо (как сейчас), и мгновенный (насколько возможно)
и глянь, плиз, как грузится Ahh.. the tape loading era! by ate bit, там что-то есть. либо у меня что-то)
и что делает вклюение кеш-а?
Re: Wild Commander
Posted:
Fri, 06.12.2013 02:30:39
by Koshi
VBI wrote:если это возможно, добавь в плаг варианты загрузки: оригинальный (по времени), турбо (как сейчас), и мгновенный (насколько возможно)
оригинал то мб, а на счет мгновенной хз. сделать можно, но таки не побитово ;P
VBI wrote:и что делает вклюение кеш-а?
ВНЕЗАПНО: включает кеш... (вкратце описано
тут)