Важная информация

User Tag List

Страница 83 из 180 ПерваяПервая ... 798081828384858687 ... ПоследняяПоследняя
Показано с 821 по 830 из 1799

Тема: Новая версия Unreal Speccy

  1. #821
    Guru
    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    1.
    Цитата Сообщение от CityAceE Посмотреть сообщение
    А кстати, есть ли какое-то логическое объяснение для чего AlCo увеличил длину дорожки, ведь для чего-то же он это сделал!
    RTFM:
    "! максимальная длина дорожки увеличена до 7000 байт - теперь работает игра "Шибениця" (gallows.td0). Если какая-то программа перестала работать, СООБЩАЙТЕ! "
    Ни одного такого случая не сообщено, а прошло уже больше года.
    2.
    Когда хвалятся изменёнными строчками, принято их показывать, иначе это пустая похвальба.
    3.
    Мой адрес указан в хелпе. Читать весь форум в поисках багрепортов мне некогда.

  2. #822
    Master
    Регистрация
    17.01.2005
    Адрес
    Старый Оскол
    Сообщений
    537
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    4 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    максимальная длина дорожки увеличена до 7000 байт - теперь работает игра "Шибениця"
    Для этой игры вполне достаточно обычных 6250 байт. Да действительно формат диска этой игры нестандартный для TR DOS -- 10 секторов по 512 байт.
    Итак 512*10=5120 байт под данные, осташихся 6250-5120=1130 вполне достаточно для формирования заголовков, межсекторных промежутков и зон синхронизации (около 100 байт на сектор).
    Не понимаю, в чём причина плодить несовместимости.
    К сведению указанная игра нормально работает в прочих эмуляторах со стандартной длиной дорожки.

    Добавлено через 6 минут
    Цитата Сообщение от CityAceE Посмотреть сообщение
    Алексей Макеев пишет следующее
    Автора формата UDI зовут Александр.
    Последний раз редактировалось Alexandr Medvedev; 17.05.2008 в 20:31. Причина: Добавлено сообщение

  3. #823
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,406
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    20
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    1.

    RTFM:
    "! максимальная длина дорожки увеличена до 7000 байт - теперь работает игра "Шибениця" (gallows.td0). Если какая-то программа перестала работать, СООБЩАЙТЕ! "
    Ни одного такого случая не сообщено, а прошло уже больше года.
    хм, zxmak.net делает дорожку 6250, шибеница работает...

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

    вот код из zxmak.net, который форматирует дорожку (см. класс Track):
    Код:
    		public void AssignSectors(ArrayList sectorList)
    		{
    			byte[][] trackImage = new byte[2][];
    
    			#region Calculate required track size...
    			
    			int imageSize = 6250;		// recommended track size
    
    			int SecCount = sectorList.Count;
    			int trkdatalen = 0;
    			foreach(Sector s in sectorList)
    			{
    				trkdatalen += s.GetAdBlockSize();
    				trkdatalen += s.GetDataBlockSize();
    			}
    
    			int FreeSpace = imageSize - (trkdatalen + SecCount * (3 + 2));  // 3x4E & 2x00 per sector
    			int FirstGapLen = 1;
    			int SecondGapLen = 1;
    			int ThirdGapLen = 1;
    			int SynchroPauseLen = 1;
    
    			FreeSpace -= FirstGapLen + SecondGapLen + ThirdGapLen + SynchroPauseLen;
    			if (FreeSpace < 0)
    			{
    				imageSize += -FreeSpace;	// expand track size
    				FreeSpace = 0;
    			}
    
    			// distribute gaps len and synchropauses length
    			while (FreeSpace > 0)
    			{
    				if (FreeSpace >= (SecCount * 2)) // Synchro for ADMARK & DATA
    					if (SynchroPauseLen < 12)
    					{
    						SynchroPauseLen++;
    						FreeSpace -= SecCount * 2;
    					}
    				if (FreeSpace < SecCount) break;
    
    				if (FirstGapLen < 10) { FirstGapLen++; FreeSpace -= SecCount; }
    				if (FreeSpace < SecCount) break;
    				if (SecondGapLen < 22) { SecondGapLen++; FreeSpace -= SecCount; }
    				if (FreeSpace < SecCount) break;
    				if (ThirdGapLen < 60) { ThirdGapLen++; FreeSpace -= SecCount; }
    				if (FreeSpace < SecCount) break;
    
    				if ((SynchroPauseLen >= 12) && (FirstGapLen >= 10) &&
    					(SecondGapLen >= 22) && (ThirdGapLen >= 60))
    					break;
    			}
    
    			if (FreeSpace < 0)
    			{
    				imageSize += -FreeSpace;	// small expand track size
    				FreeSpace = 0;
    			}
    			
    			#endregion
    
    			#region Format track...
    			trackImage[0] = new byte[imageSize];
    			trackImage[1] = new byte[trackImage[0].Length / 8 + (((trackImage[0].Length & 7) != 0) ? 1 : 0)];
    
    			int r, tptr = 0;
    			foreach(Sector sector in sectorList)
    			{
    				for (r = 0; r < FirstGapLen; r++)			// First gap
    				{
    					trackImage[0][tptr] = 0x4E;
    					trackImage[1][tptr / 8] &= (byte)~(1 << (tptr & 7));
    					tptr++;
    				}
    				for (r = 0; r < SynchroPauseLen; r++)       // Synchropause
    				{
    					trackImage[0][tptr] = 0x00;
    					trackImage[1][tptr / 8] &= (byte)~(1 << (tptr & 7));
    					tptr++;
    				}
    				if (sector.AdPresent)						// address block
    				{
    					byte[][] block = sector.CreateAdBlock();
    					for (r = 0; r < sector.GetAdBlockSize(); r++)
    					{
    						trackImage[0][tptr] = block[0][r];
    						if((block[1][r/8] & (1 << (r & 7)))!=0)
    							trackImage[1][tptr / 8] |= (byte)(1 << (tptr & 7));
    						else
    							trackImage[1][tptr / 8] &= (byte)~(1 << (tptr & 7));
    						tptr++;
    					}
    				}
    				for (r = 0; r < SecondGapLen; r++)		// Second gap
    				{
    					trackImage[0][tptr] = 0x4E;
    					trackImage[1][tptr / 8] &= (byte)~(1 << (tptr & 7));
    					tptr++;
    				}
    				for (r = 0; r < SynchroPauseLen; r++)		// Synchropause
    				{
    					trackImage[0][tptr] = 0x00;
    					trackImage[1][tptr / 8] &= (byte)~(1 << (tptr & 7));
    					tptr++;
    				}
    				if (sector.DataPresent)						// data array block
    				{
    					byte[][] block = sector.CreateDataBlock();
    					for (r = 0; r < sector.GetDataBlockSize(); r++)
    					{
    						trackImage[0][tptr] = block[0][r];
    						if ((block[1][r / 8] & (1 << (r & 7))) != 0)
    							trackImage[1][tptr / 8] |= (byte)(1 << (tptr & 7));
    						else
    							trackImage[1][tptr / 8] &= (byte)~(1 << (tptr & 7));
    						tptr++;
    					}
    				}
    				for (r = 0; r < ThirdGapLen; r++)        // Third gap
    				{
    					trackImage[0][tptr] = 0x4E;
    					trackImage[1][tptr / 8] &= (byte)~(1 << (tptr & 7));
    					tptr++;
    				}
    			}
    			// unused track space
    			for (int eoftrk = tptr; eoftrk < trackImage[0].Length; eoftrk++)
    			{
    				trackImage[0][tptr] = 0x4E;
    				trackImage[1][tptr / 8] &= (byte)~(1 << (tptr & 7));
    				tptr++;
    			}
    			#endregion
    
    			AssignImage(trackImage[0], trackImage[1]);
    		}
    Последний раз редактировалось ZXMAK; 18.05.2008 в 00:34.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  4. #824
    Guru
    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alexandr Medvedev Посмотреть сообщение
    Для этой игры вполне достаточно обычных 6250 байт. Да действительно формат диска этой игры нестандартный для TR DOS -- 10 секторов по 512 байт.
    Итак 512*10=5120 байт под данные, осташихся 6250-5120=1130 вполне достаточно для формирования заголовков, межсекторных промежутков и зон синхронизации (около 100 байт на сектор).
    Есть теория, а есть программа teledisk и реальный образ, который она сформировала.
    Цитата Сообщение от Alexandr Medvedev Посмотреть сообщение
    Не понимаю, в чём причина плодить несовместимости.
    Пример несовместимости в студию.
    Цитата Сообщение от Alexandr Medvedev Посмотреть сообщение
    К сведению указанная игра нормально работает в прочих эмуляторах со стандартной длиной дорожки.
    Да? только вот почему-то "последняя стабильная версия, которую не испортил AlCo" (её фамилия 0.35b2) замечательным образом выдаёт "error: track buffer overflow" и вываливается. А версия 0.32b8 - "error: track too long" и тоже вываливается. Для справки: gallows.td0 (849442 06.10.04). Если есть другой релиз, то жду url.

  5. #825
    Guru Аватар для Sayman
    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,277
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    alone
    я как то писал тебе про ошибки дешифрации портов профи и некоторых портов АТМа...косяк проявляется обсалютно во всех версиях анрыла и во всех версиях zxmak после версии 0.262. в том числе при битплане (аля интерлейс)...
    и кстати некоторый цпмный софт, который програмирует на прямую вг93, так же глючит. хотя иногда спасает ноделайс...но только совсем иногда...
    могу собрать весь список ошибок. которые я нашол и отправить тебе, если кончно тебе это нада и если исправиш)))
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  6. #826
    Master
    Регистрация
    17.01.2005
    Адрес
    Старый Оскол
    Сообщений
    537
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    4 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    Есть теория, а есть программа teledisk и реальный образ, который она сформировала.
    Так я и говорю про него.
    Цитата Сообщение от alone Посмотреть сообщение
    Пример несовместимости в студию.
    1) Чуть выше написал A. Makeev.
    2) ADS 3.0i неверно определяет скорость дисковода.
    Цитата Сообщение от alone Посмотреть сообщение
    Да? только вот почему-то "последняя стабильная версия, которую не испортил AlCo" (её фамилия 0.35b2) замечательным образом выдаёт "error: track buffer overflow" и вываливается. А версия 0.32b8 - "error: track too long" и тоже вываливается.
    А где можно найти версии 0.32b3...b8, у меня таких нет?
    Цитата Сообщение от alone Посмотреть сообщение
    Для справки: gallows.td0 (849442 06.10.04). Если есть другой релиз, то жду url.
    На этом ясное дело будут выдавать. У SMT не обрабатывается байт флагов в заголовке сектора TD0 файла, поэтому то длины дорожки не хватает.
    В Unreal by AlCo вместо проверки заголовков секторов и игнорирования секторов не содержащих данные левые сектора тоже обрабатываюся.
    Путь расширения дорожки неправильный, для этого образа надо просто проверять байт флагов в заголовках секторов и лишние сектора пропускать.
    Вот заголовок сектора TeleDisk файла:
    Код:
    // Sector header
    typedef struct
    {
        BYTE    bTrack;             // Track number in ID field
        BYTE    bSide;              // Side number in ID field
        BYTE    bSector;            // Sector number in ID field
        BYTE    bSize;              // Sector size indicator:  (128 << bSize) gives the real size
        BYTE    bFlags;             // Flags detailing special sector conditions
        BYTE    bCRC;               // Low 8-bits of sector header CRC
    }
    TD0_SECTOR;
    Вот значение битов поля bFlags:
    Код:
    1: This sector number occurred more than once on this track
    2: A data CRC error occurred when this sector  was read.
    4: A deleted data control mark was present for this sector.
    16: A DOS sector copy was requested; this sector was not allocated. In this case,  no sector data follows this header.
    32: This sector's data field is missing; no sector data follows this header
    64: No ID address field was present for this sector, but there is a data field.
    В GALLOWS.TD0 bFlags=0x40 т.е. 64 из приведённого выше списка находим "No ID address field was present".
    Рекомендую посмотреть как обрабатываются заголовки секторов в других эмулях (лучше всего здесь http://www.simcoupe.org/download.html), там сделана довольно сложная проверка проверка после которой некоторые сектора отбрасываются.

    Алгоритм чтения дискет в Direct версии TeleDisk'а далеко несовершенен и при нахождении на дискете подозрительных (с т.з. TeleDisk'а) данных весь найденный мусор складвается вот в такие сектора, с соответствующей пометкой в байте флагов.
    Лично я просто переконверил этот файл в FDI и выкинул весь мусор, полученный файл открывается во всех версиях Unreal.

    Ну что теперь-то будет наконец теперь сделана длина дорожки 6250 байт?

    И как насчёт вернуть настройки колеса мыши в GUI?

  7. #826
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #827
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,574
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    399
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alexandr Medvedev Посмотреть сообщение
    Автора формата UDI зовут Александр.
    Приношу свои извинения, просто Alex чаще всего - это Алексей, а не Александр
    С уважением, Станислав.

  9. #828
    Master
    Регистрация
    17.01.2005
    Адрес
    Старый Оскол
    Сообщений
    537
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    4 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    могу собрать весь список ошибок. которые я нашол и отправить тебе
    Лучше сюда выложи свой список, будем узучать и пополнять.
    Просто AlCo не единственный кто выпускает новые версии Unreal, другим подобный список тоже будет весьма полезен.

  10. #829
    Guru Аватар для Sayman
    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,277
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alexandr Medvedev Посмотреть сообщение
    Лучше сюда выложи свой список, будем узучать и пополнять.
    Просто AlCo не единственный кто выпускает новые версии Unreal, другим подобный список тоже будет весьма полезен.
    ясна...списочек совсем небольшой...в основном связан с работой портов профи и атм, хотя про атм не уверен т.к. реала нету, только реал профи есть...ну и косячки по работе с хдд...тут я более детально буду разбираться...попозже...на работе щас переезд....
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  11. #830
    ZEK
    Гость

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    ясна...списочек совсем небольшой...в основном связан с работой портов профи и атм
    Человек не смеши, на US отлаживали дофига чего перед тем как запустить на реале, слушай лучше повнимательней "Максагора", а алко добавил в эмуляцию АТМ совсем хитрые аппаратные нюансы, ищи - аппаратный скроль в АТМ

    Так что свисти поменьше

    А по поводу Профи, обосновуй по схеме и шли Алко, а то на каждом углу скулиш, это уже больше напрягает чем Блек-Фины

    ЗЫ

Страница 83 из 180 ПерваяПервая ... 798081828384858687 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Порт Unreal Speccy под Linux!
    от ^m00h^ в разделе Эмуляторы
    Ответов: 62
    Последнее: 28.11.2018, 22:02
  2. Новая версия EmuZWin
    от Vladimir Kladov в разделе Эмуляторы
    Ответов: 217
    Последнее: 09.05.2018, 20:32
  3. Настройщик Unreal Speccy
    от Dr.Lion/RSM в разделе Эмуляторы
    Ответов: 97
    Последнее: 03.03.2008, 14:12
  4. unreal speccy beakpoints
    от Raider в разделе Эмуляторы
    Ответов: 2
    Последнее: 10.07.2005, 23:13
  5. работа с образами HDD в Unreal Speccy
    от elf в разделе Эмуляторы
    Ответов: 15
    Последнее: 30.03.2005, 18:22

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •