| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		Hbrd
 
 
  Зарегистрирован: 01.12.2007 Сообщения: 45
 
  | 
		
			
				 Добавлено: Ср Дек 26, 2007 10:43 am    Заголовок сообщения: Распакованная графика вместо упакованной | 
				     | 
			 
			
				
  | 
			 
			
				...
  Последний раз редактировалось: Hbrd (Ср Окт 28, 2009 9:26 am), всего редактировалось 3 раз(а) | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		HoRRoR RRC2008
  
  
  Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
  | 
		
			
				 Добавлено: Ср Дек 26, 2007 11:31 am    Заголовок сообщения: Re: Распакованная графика вместо упакованной | 
				     | 
			 
			
				
  | 
			 
			
				Напиши код копирования, а в процедуру распаковки вживи код, проверяющий хидер архива. Если хидер твой - то копирование, если родной - распаковка. _________________ Работаю за деньги
 
KILL ALL HUMANS!!!!!111 | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Hbrd
 
 
  Зарегистрирован: 01.12.2007 Сообщения: 45
 
  | 
		
			
				 Добавлено: Ср Дек 26, 2007 8:13 pm    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				...
  Последний раз редактировалось: Hbrd (Ср Окт 28, 2009 9:29 am), всего редактировалось 1 раз | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		PEREVODчик
 
  
  Зарегистрирован: 07.07.2006 Сообщения: 105 Откуда: Kirov
  | 
		
			
				 Добавлено: Ср Дек 26, 2007 8:56 pm    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Hbrd писал(а): | 	 		  | КОПИРОВАТЬ из рома в ОЗУ научи, а я уж тода и без хидеров обойдусь. | 	  
 
 	  | Код: | 	 		  
 
move.w #$XXXX, Dx
 
lea $Adress1, Ax
 
lea $Adress2, Ay
 
REPEAT:
 
move.b (Ax)+, (Ay)+
 
dbf Dx, REPEAT
 
 | 	  
 
Ax, Ay, Dx - Смотри какие регистры не используются.
 
Adress1 - ROM
 
Adress2 - RAM
 
XXXX - сколько байт копировать минус 1.
 
(можно копировать как Byte, Word или Long)
 
Поправка: Счетчик dbf - 16битный.
  Последний раз редактировалось: PEREVODчик (Чт Дек 27, 2007 1:23 pm), всего редактировалось 1 раз | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Hbrd
 
 
  Зарегистрирован: 01.12.2007 Сообщения: 45
 
  | 
		
			
				 Добавлено: Ср Дек 26, 2007 10:06 pm    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				...
  Последний раз редактировалось: Hbrd (Ср Окт 28, 2009 9:29 am), всего редактировалось 1 раз | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Hbrd
 
 
  Зарегистрирован: 01.12.2007 Сообщения: 45
 
  | 
		
			
				 Добавлено: Ср Дек 26, 2007 11:02 pm    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				...
  Последний раз редактировалось: Hbrd (Ср Окт 28, 2009 9:29 am), всего редактировалось 1 раз | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Shiru
 
 
  Зарегистрирован: 25.10.2006 Сообщения: 295 Откуда: Russia, Moscow
  | 
		
			
				 Добавлено: Ср Дек 26, 2007 11:03 pm    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				| Это метка. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Hbrd
 
 
  Зарегистрирован: 01.12.2007 Сообщения: 45
 
  | 
		
			
				 Добавлено: Ср Дек 26, 2007 11:12 pm    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				...
  Последний раз редактировалось: Hbrd (Ср Окт 28, 2009 9:29 am), всего редактировалось 1 раз | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Shiru
 
 
  Зарегистрирован: 25.10.2006 Сообщения: 295 Откуда: Russia, Moscow
  | 
		
			
				 Добавлено: Ср Дек 26, 2007 11:20 pm    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Научить компилировать?
 
 
as digital.asm
 
p2bin digital.p -r $00000000-$00040000
 
 
Полегчало?
 
 
Ты не знаешь основ, вот 'и не прёт'. А учить тебя никто не будет, это нужно тебе, а не другим. Ищи в поисковике учебники по ассемблеру, поможет. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Hbrd
 
 
  Зарегистрирован: 01.12.2007 Сообщения: 45
 
  | 
		
			
				 Добавлено: Ср Дек 26, 2007 11:37 pm    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				...
  Последний раз редактировалось: Hbrd (Ср Окт 28, 2009 9:29 am), всего редактировалось 1 раз | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Shiru
 
 
  Зарегистрирован: 25.10.2006 Сообщения: 295 Откуда: Russia, Moscow
  | 
		
			
				 Добавлено: Чт Дек 27, 2007 2:24 am    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Hbrd писал(а): | 	 		  | Блин, ты скажи, чем компилировать? | 	  
 
Чем угодно, что совместимо по синтаксису с выходными файлами используемого дизассемблера.
 
 
 	  | Hbrd писал(а): | 	 		  | Я то понял, что это текст батника. | 	  
 
Это вызовы программ с необходимыми параметрами, а не текст батника. Хотя для автоматизации сборки, конечно, удобно использовать BAT-файлы.
 
 
 	  | Hbrd писал(а): | 	 		  | MK1.ASM(806) : Error 06054 : Branch offset (0x23c) out of range BEQ.S   $00000E0A | 	  
 
Ты находишься на форуме переводчиков игр, в разделе 'Экстремальный ромхакинг'. Предполагается, что ты должен знать хотя-бы основы английского языка. Компилятор сообщает тебе, что адрес для короткого перехода в 806 строке файла MK1.ASM выходит за допустимые пределы (-128..+127 байт). Почему это происходит - надо спрашивать тебя. Я могу предположить, что ты вставил дополнительные инструкции в дизассемблированный код. Разумеется, у тебя не получится после этого собрать игру назад - поплывут все короткие переходы поблизости и, вероятно, адреса данных (всякие таблицы указателей).
 
 
 	  | Hbrd писал(а): | 	 		  | ПРОСТО ДАЙ СВОЙ КОМПИЛЯТОР, какой у тебя, а так же любой батник, с помощью которого ты компилируешь. | 	  
 
Тебе это ничем не поможет. Батник для сборки каждого конкретного проекта пишется под этот конкретный проект.
 
 
 	  | Hbrd писал(а): | 	 		  | Я скачал асм, там небыло даже ридми. Вот в чём дело. | 	  
 
Подробная документация по SNASM68K находится в поисковике за несколько секунд (запрос 'SNASM68K', первый результат). | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Hbrd
 
 
  Зарегистрирован: 01.12.2007 Сообщения: 45
 
  | 
		
			
				 Добавлено: Вт Янв 01, 2008 5:32 pm    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				...
  Последний раз редактировалось: Hbrd (Ср Окт 28, 2009 9:29 am), всего редактировалось 1 раз | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		HardWareMan
 
 
  Зарегистрирован: 01.09.2005 Сообщения: 116
 
  | 
		
			
				 Добавлено: Вт Янв 01, 2008 5:59 pm    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | PEREVODчик писал(а): | 	 		   	  | Hbrd писал(а): | 	 		  | КОПИРОВАТЬ из рома в ОЗУ научи, а я уж тода и без хидеров обойдусь. | 	  
 
 	  | Код: | 	 		  
 
move.w #$XXXX, Dx
 
lea $Adress1, Ax
 
lea $Adress2, Ay
 
REPEAT:
 
move.b (Ax)+, (Ay)+
 
dbf Dx, REPEAT
 
 | 	  
 
Ax, Ay, Dx - Смотри какие регистры не используются.
 
Adress1 - ROM
 
Adress2 - RAM
 
XXXX - сколько байт копировать минус 1.
 
(можно копировать как Byte, Word или Long)
 
Поправка: Счетчик dbf - 16битный. | 	  
 
Только осторожнее, если будете юзать размерность .w или .l - эти команды требуют выравнивания по четному адресу. Если зададите нечетный - можете долго ломать голову, почему грузит не то, что нужно (срабатывает ексепшн на Address Error). Если юзать байт - то при использовании dbra мона переслать не более 64К (а больше для ОЗУ или VDP и не надо.
 
Далее, скомпилировать можно и в ручную - не такая уж и сложная команда. Сводная таблица опкодов М68К была выложена мною на старой Эмураше и канула в лету. Специально для вас и на будущее я ее выкладываю здесь. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		 |