PDA

Просмотр полной версии : SN



CHRV
09.02.2005, 16:17
Мои локаторы засекли на форуме автора самой необходимой утилы для реальщика - Spectrum Navigator!
Очень хочется услышать будет ли продолжение?
Кстати почему исходники закрыл?

RomanRom2
09.02.2005, 16:41
не успеешь зарегистрицца - так на чисту воду выведят :)

вы знаете, мне до сих пор на мобилу чуваки из других городов звонят, интересуются, как чего, несомненно - приятно, но я каждый раз офигиваю от этого. приятно, спасибо

на самом деле я бы рад продолжить проект, только как всегда времени нет. если оно и случиться - оно будет консольное под винду, я уже подыскиваю примерчики по этому поводу, как сделать то или иное.

ну и так что бы ВСЕМОЧЕНЬНАДА я не ощущаю, потому и не дергаюсь. главное что есть альтернатива и здоровая конкуренция ;) фору так сказать даю. и вообще, горд за нижний новгород - законодатель мод в обработке спектрумовских файлов :D

рад за вас, что собрались в одном месте, примите и меня :rolleyes:

исходники закрыл оттого, что находятся много всякого народу, который начинает учить меня программировать в высокомерном тоне, мне это не нравится и я решил избавится от этого вот таким вот способом, уж обезсутьте. да и надо ли кому исходники борланд паскаля студента первого курса, который этот борланд паскаль на первом курсе и увидел?

ЗЫ. кстати, в процессе ознакомления с контентом первое на что наткнулся, так на тему http://zx.pk.ru/showthread.php?t=5 и фразу:

Еще спрашивает!!!
Да я без них жить не могу!!!
Всяческие Спектрум-нафигаторы отпадают как класс.

был приятно удивлен.

elf/2
09.02.2005, 16:46
ну и так что бы ВСЕМОЧЕНЬНАДА я не ощущаю, потому и не дергаюсь. главное что есть альтернатива и здоровая конкуренция ;) фору так сказать даю. и вообще, горд за нижний новгород - законодатель мод в обработке спектрумовских файлов :D

неа, конкурировать не с чем :)

RomanRom2
09.02.2005, 16:51
и эта... неужели ничего нового не появилось?

CHRV
09.02.2005, 16:57
не успеешь зарегистрицца - так на чисту воду выведят :)
А то высоко сижу - далеко гляжу... ;)



исходники закрыл оттого, что находятся много всякого народу, который начинает учить меня программировать в высокомерном тоне, мне это не нравится и я решил избавится от этого вот таким вот способом, уж обезсутьте. да и надо ли кому исходники борланд паскаля студента первого курса, который этот борланд паскаль на первом курсе и увидел?

Еще раз прошу у тебя извинения за то что похрючил твой паскаль и твой борланд, чтобы он на моей П4-2800 работал без runtime error... ну и задержки конечно пришлось поправить немного :D
С исходниками было бы попроще но что ж делать, на письма ты мне не отвечал...

По любому рад видеть!

RomanRom2
09.02.2005, 17:02
вероятно я их и не получал...
ну так похрючил так похрючил, жалко чтоль :)

на самом деле кому надо -- исходники подарю. только бы вот щас не началось фидошное "и мнее, и мнее" :)

CHRV
09.02.2005, 17:11
вероятно я их и не получал...
ну так похрючил так похрючил, жалко чтоль :)

на самом деле кому надо -- исходники подарю. только бы вот щас не началось фидошное "и мнее, и мнее" :)
И мнеее... шучу :D
Реальщиков не так много, но те кого я знаю по Москве (включая меня) пользуются твоими прогами ну еще теледиском и хобетой35.

elf/2
09.02.2005, 17:27
и эта... неужели ничего нового не появилось?
неа... хотя были плагины для тотала

CHRV
09.02.2005, 23:22
Ага я тоже под винду мыслю, токо драйвак надо писать чтобы до портов добраться.

Alexandr Medvedev
10.02.2005, 12:53
и эта... неужели ничего нового не появилось?Я вот к старой версии (для которой исходники есть) прикрутил поддержку ZXZIP, теперь внешний zxzip не нужен, SN сам всё распаковывает.

на самом деле кому надо -- исходники подарюКидай их прямо сюда, кому надо - подберут.

Looker
11.02.2005, 00:03
и вообще, горд за нижний новгород - законодатель мод в обработке спектрумовских файлов :D

ЗЫ. кстати, в процессе ознакомления с контентом первое на что наткнулся, так на тему http://zx.pk.ru/showthread.php?t=5 и фразу:

Еще спрашивает!!!
Да я без них жить не могу!!!
Всяческие Спектрум-нафигаторы отпадают как класс.

был приятно удивлен.

извини, тезка, не хотел обидеть.
Я просто имелл ввиду, что не нужны дополнитульные утилиты..
А то, что законодатель мод - это "де факто".

Кстати, это именно мы когда-то подкинули тебе наши сорцы для работы с реальными дисками.

RomanRom2
11.02.2005, 08:45
да я и не обиделся :) кто сказал что я обиделся?

да, сорцов кто только мне не кидал, давно это было, я уж и не помню. даже пауль павлов дал мне исходники ADM Copier...

один фиг я свои в итоге написал, взяв за основу те, что прислал мне миха орехов, который ком загрузчик на асме написал.

Paul Pavlov
13.02.2005, 13:47
да я и не обиделся :) кто сказал что я обиделся?

да, сорцов кто только мне не кидал, давно это было, я уж и не помню. даже пауль павлов дал мне исходники ADM Copier...

один фиг я свои в итоге написал, взяв за основу те, что прислал мне миха орехов, который ком загрузчик на асме написал.
Привет! Разобрался как под XP иметь прямой доступ к портам? Я вроде, нашел пару программ, которые позволяют это делать. Или это fake - не знаю даже ...

RomanRom2
13.02.2005, 23:46
футы нуты, смотри ка, кто тут у нас! :)))

я совершенно точно знаю, что попасть в нулевое кольцо защиты виндов можно. у меня были где то даже сорцы, и для 95(9х) и для НТ. только я их не пробовал, аккуратненько сложил куда-то, куда именно - конечно же благополучно забыл.

надо п поискать еще...

ЗЫ. а почему в сообщении нельзя поставить более 4 смайликов? я понимаю, что это политика/религия такая :) но почему четырех?

SMT
14.02.2005, 00:09
вот пример, как прочитать MSR из ring0. порты аналогично.


#pragma pack(1)
struct CALLGATE_DESCRIPTOR
{
WORD Offset_0_15;
WORD Selector;
union {
struct {
WORD ParamCount : 5;
WORD Unused : 3;
WORD Type : 4;
WORD System : 1;
WORD DPL : 2;
WORD Present : 1;
};
WORD misc;
};
WORD Offset_16_31;
};
typedef struct CALLGATE_DESCRIPTOR GDT_DESCRIPTOR;

struct GDTR
{
WORD wGDTLimit;
DWORD dwGDTBase;
};
#pragma pack()

unsigned gdt_index = 0;
HANDLE hSection;
GDT_DESCRIPTOR *pGDTDescriptor;
unsigned r0_p1, r0_p2;

DWORD __inline QuasiMmGetPhysicalAddress(DWORD va) {
// only for NT and for 0x80000000 <= va <= 0xA0000000
return (va & 0x1FFFF000); // physical address (page aligned)
}

DWORD ring0(void *func, DWORD param1, void *param2 = 0)
{
if (!func && !gdt_index) return 1;

if (!gdt_index) { // try to allocate GDT entry

struct GDTR gdtr;
__asm sgdt [gdtr]
pGDTDescriptor = (GDT_DESCRIPTOR*)gdtr.dwGDTBase;

if (!running9x) { // map physical memory
if (!nt_imports() || !advapi32_imports()) return 0;
UNICODE_STRING PhMem;
_RtlInitUnicodeString(&PhMem, L"\\Device\\PhysicalMemory");
OBJECT_ATTRIBUTES oa = { sizeof oa, 0, &PhMem, OBJ_CASE_INSENSITIVE };
int r = _NtOpenSection(&hSection, SECTION_MAP_WRITE, &oa);
if (r) {
r = _NtOpenSection(&hSection, READ_CONTROL | WRITE_DAC, &oa);
if (r) { printerr1(_RtlNtStatusToDosError(r), "can't open PhysicalMemory"); return 0; }

r = _SetSecurityInfo(hSection, SE_KERNEL_OBJECT, DACL_SECURITY_INFORMATION,
0, 0, 0, 0); // this will give access to everyone!
if (r) { printerr1(r, "can't SetSecurityInfo for PhysicalMemory"); return 0; }
CloseHandle(hSection);
r = _NtOpenSection(&hSection, SECTION_MAP_WRITE, &oa);
if (r) { printerr1(_RtlNtStatusToDosError(r), "can't open section"); return 0; }
}
DWORD offset = gdtr.dwGDTBase & 0x0FFF;
pGDTDescriptor = (GDT_DESCRIPTOR*)MapViewOfFile(hSection, SECTION_MAP_WRITE, 0,
QuasiMmGetPhysicalAddress(gdtr.dwGDTBase),
align(gdtr.wGDTLimit + offset, 0x1000));
if (!pGDTDescriptor) { printerr("MapViewOfFile()"); return 0; }
pGDTDescriptor = (GDT_DESCRIPTOR*)((char*)pGDTDescriptor + (gdtr.dwGDTBase & 0x0FFF));
}
// create callgate
for (int index = 1; index < gdtr.wGDTLimit/8; index++)
if (!pGDTDescriptor[index].misc) {
gdt_index = index;
#define pCallgate pGDTDescriptor[index]
pCallgate.misc = 0xEC00;
pCallgate.Selector = running9x ? 0x28 : 0x08;
#undef pCallgate
break;
}
}
if (!gdt_index) { printf("can't find free GDT entry\n"); return 0; }
if (func) {
WORD callgate[3];
callgate[2] = (gdt_index << 3) | 3;
#define pCallgate pGDTDescriptor[gdt_index]
pCallgate.Offset_0_15 = LOWORD(func);
pCallgate.Offset_16_31 = HIWORD(func);
#undef pCallgate
*(volatile unsigned*)func; // pagein! system hangs,if function not in RAM
*(volatile unsigned*)((int)func+0x1000);

__asm pushad
__asm push ebp
__asm mov eax, [param1]
__asm mov ecx, [param2]
__asm call fword ptr [callgate]
__asm pop ebp
__asm mov [param1], eax
__asm mov [r0_p1], ecx
__asm mov [r0_p2], edx
__asm popad
return param1;

} else { // delete callgate at gdt_index
*(unsigned*)&pGDTDescriptor[gdt_index] =
*(unsigned*)((char*)&pGDTDescriptor[gdt_index]+4) = 0;
if (!running9x) {
UnmapViewOfFile(pGDTDescriptor);
CloseHandle(hSection);
}
gdt_index = 0;
return 1;
}
}

__declspec(naked) void readMSR_r0(unsigned index)
{
__asm mov ecx, eax
__asm rdmsr
__asm retf
}

unsigned readMSR_DWORD(unsigned index)
{
unsigned res = ring0(readMSR_r0, index);
ring0(0,0); // заделываем дырку назад. это можно сделать перед окончанием операции с ring0
return res;
}

Aprisobal
14.02.2005, 00:11
я совершенно точно знаю, что попасть в нулевое кольцо защиты виндов можно. у меня были где то даже сорцы, и для 95(9х) и для НТ. только я их не пробовал, аккуратненько сложил куда-то, куда именно - конечно же благополучно забыл.Не так давно наткнулся на утилиту OmniFlop (http://www.8bs.com/othrdnld/utilities/omniflop/OmniFlop.htm) предназначенную для чтения дискет нестандартных форматов и поддерживающую NT-системы. Вместе с ней поставляется свой WDM драйвер дисковода. Программа умеет читать все виды дискет кроме TR-DOS :). Но там есть анализатор формата, так что она может прочитать всё. Но! Для чтения дискет не-DOS нужна бесплатная регистрация :( Я уже отправил письмо, но пока не получал ответа :(.
Насчёт этого драйвер флоппи. С ним доступ в винде к дискетам осуществляется как-то очень странно - голова ёрзает по сто раз для того, чтобы прочитать файл. Также попробовал досовские утилиты для форматирования/чтения спековских дискет - вроде низкоуровневый доступ даётся, но они ничего не могут прочитать, пишут, что плохой сектор или ещё что-нить. А как у вас? У меня Win2k SP4.

SMT
14.02.2005, 00:12
пашет и на 9x, надо running9x=1, а _RtlInitUnicodeString,_NtOpenSection,_SetSecurityI nfo - указатели на соответствующие функции, беруться GetProcAddress'ом - не импортировать. если NT-only, то подчеркивание можно безболезненно стереть

axor
15.11.2005, 09:52
Уважаемые программисты под win. Может все же кто-нибудь переделает SN под Win Xp?

Shadow Maker
15.11.2005, 10:50
А смысл?

Alexandr Medvedev
15.11.2005, 14:11
Уважаемые программисты под win. Может все же кто-нибудь переделает SN под Win Xp?А чем ZX плагины для FAR не подходят ?

nyuk
15.11.2005, 14:24
А чем ZX плагины для FAR не подходят ?
А разве в FAR-плагинах уже появилась запись на реальные дискеты?

axor
16.11.2005, 09:11
А разве в FAR-плагинах уже появилась запись на реальные дискеты?

Вот, вот. Крайне необходима запись на реальные дискеты под XP. RealSpectrum, конечно, пока единственный вариант, но хотелось бы еще и удобство коммандера.

elf/2
16.11.2005, 10:40
А разве в FAR-плагинах уже появилась запись на реальные дискеты?
а это ты лично у Саши Медведева спроси :) у него есть...

Alexandr Medvedev
17.11.2005, 14:43
а это ты лично у Саши Медведева спроси :)Лично спрашивать не обязательно, через пару дней выложу на форум 3 утилиты (работают через ком. строку): форматировалку, читалку в .trd и писалку .trd на диск. А пока скачайте и установите драйвер для FDC (если его не устанавливали вместе с RealSpectrum'ом) http://www.ramsoft.bbk.org/emul/FdInstall.exe .
У меня в свою очередь есть вопрос. Как в Win NT определить тип дисководов A и B (5.25 3.5 или вообще отсутствует) ?
А плагины пока не дописаны т.к. не сделана проверка наличия дисководов, и их типов.

Striker
17.11.2005, 16:16
Ждём утилит!!!
У меня тут как раз много реалок для перегонки собралось

SMT
17.11.2005, 16:34
Как в Win NT определить тип дисководов A и B (5.25 3.5 или вообще отсутствует)
GetDriveType - должен быть DRIVE_REMOVABLE, потом DeviceIoControl - IOCTL_STORAGE_GET_MEDIA_TYPES - на моём флопике возвращается 2 допуcтимых типа: 3,5" 1.44 и 3.5" 720

axor
19.11.2005, 15:45
В общем будем надеяться, что совместными усилиями появятся нормальные утилиты для работы с реальными дискетами под XP...

RomanRom2
26.04.2006, 00:20
привет, парни. я гляжу у вас успехи в программировании контроллера под NT. это гуд.
а меня тут на DiHalt позвали, а я и загянул по всем известным мне zx ресурсам... обязательно прийду :)

axor
26.04.2006, 21:13
А плагинов к Far`у так и нет?

elf/2
27.04.2006, 11:15
А плагинов к Far`у так и нет?
более того, боюсь что и не будет. Саша Медведев уже давно на форуме не появлялся :(

CHRV
12.05.2006, 12:57
начальники! перенесите пожалуйста сообщения начиная с #31 в раздел "Флейм"
Собственно ты сам начальник :).
Если мне не изменяет зрение - то ты модератор этой ветки :cool:

elf/2
12.05.2006, 14:29
Собственно ты сам начальник
ой! и правда я сам такое могу :)

отправил весь флейм куда и положено