| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		Ден Зурин
 
  
  Зарегистрирован: 23.01.2008 Сообщения: 10
 
  | 
		
			
				 Добавлено: Ср Янв 23, 2008 10:14 pm    Заголовок сообщения: Ассемблер для SNES | 
				     | 
			 
			
				
  | 
			 
			
				Вот, решил попробовать написать свою программу (точнее, ROM) для SNES. После длительного поиска в Инете обнаружил вот это:
 
http://en.wikibooks.org/wiki/Super_NES_Programming
 
По указанному адресу расположено несколько статей по программированию для SNES, а также есть ссылки на ассемблер и C компилятор для SNES. 
 
Думаю, эта информация будет интересна начинающим SNES программистам. _________________ I love Schala. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		АнС RRC2008
  
  
  Зарегистрирован: 08.11.2003 Сообщения: 2818
 
  | 
		
			
				 Добавлено: Чт Янв 24, 2008 4:58 pm    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Решить решил, ну и написал?   | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Ден Зурин
 
  
  Зарегистрирован: 23.01.2008 Сообщения: 10
 
  | 
		
			
				 Добавлено: Вс Янв 27, 2008 2:44 am    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Пока получается только пустой зеленый экран. _________________ I love Schala. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		gegmopo3
 
  
  Зарегистрирован: 21.08.2006 Сообщения: 233 Откуда: Красноярск
  | 
		
			
				 Добавлено: Вс Мар 14, 2010 9:43 am    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Чтобы не рожать тем, спрошу здесь.
 
 
идет JSL, дальше я впариваю свой код, код рабатает все нормально, но как только втречает RTL, он возвращается не на то место, где JSl, а вообще хз куда, из рам вообще, и в итоге переходит по вектору, ну и конечно игра стоит на месте....
 
бытался просто JMP заменить, но дальше другие JSL и JSR так же ведут, кто-нибудь подскажите, в чем бойда?   _________________ Я-я-я-я! | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		АнС RRC2008
  
  
  Зарегистрирован: 08.11.2003 Сообщения: 2818
 
  | 
		
			
				 Добавлено: Вс Мар 14, 2010 2:02 pm    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | gegmopo3 писал(а): | 	 		  идет JSL, дальше я впариваю свой код, код рабатает все нормально, но как только втречает RTL, он возвращается не на то место, где JSl, а вообще хз куда, из рам вообще, и в итоге переходит по вектору, ну и конечно игра стоит на месте....
 
бытался просто JMP заменить, но дальше другие JSL и JSR так же ведут, кто-нибудь подскажите, в чем бойда?   | 	  
 
 
Может, где-то в процедуре в стек что-то забросил, а вытащить забыл? | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		gegmopo3
 
  
  Зарегистрирован: 21.08.2006 Сообщения: 233 Откуда: Красноярск
  | 
		
			
				 Добавлено: Вс Мар 14, 2010 2:45 pm    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				ууу, точно!!
 
Спасибо!
 
с этими Ply,plx не уследил   _________________ Я-я-я-я! | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		gegmopo3
 
  
  Зарегистрирован: 21.08.2006 Сообщения: 233 Откуда: Красноярск
  | 
		
			
				 Добавлено: Вс Мар 14, 2010 2:47 pm    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				ах-ха-ха   
 
пошаманил стек, такая веселая штука появилась=)
 
заместо того, чего надо вышел мульлтик=)))) из заставки       :D
 
 
----
 
Хм...
 
 
сделал так:
 
 
 rep #$20
 
 tax
 
 tsc  // стек в акк
 
 sta $f090 // сохранил
 
 ...
 
 lda $f090 // загрузил
 
 tcs  // акк в стек
 
 lda $03d5 
 
 
трейсером пробежался,  стаки совпадает с оригиналом, но он, падла, теперь в другое место скачет...
 
что же теперь не так... _________________ Я-я-я-я! | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		gegmopo3
 
  
  Зарегистрирован: 21.08.2006 Сообщения: 233 Откуда: Красноярск
  | 
		
			
				 Добавлено: Вс Мар 14, 2010 11:07 pm    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Все, обошел проблемму, теперь все нормально   _________________ Я-я-я-я! | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		gegmopo3
 
  
  Зарегистрирован: 21.08.2006 Сообщения: 233 Откуда: Красноярск
  | 
		
			
				 Добавлено: Вт Апр 06, 2010 8:58 pm    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Теперь по комповскому асму....
 
Например, переменная х : word, ставлю флаг на carry, но jc не срабатывает когда нужно... Он проверяет первый бит у старшего байта? Или всё же у младшего? (просто на снес у старшего глядит) _________________ Я-я-я-я! | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Марат
 
  
  Зарегистрирован: 08.01.2008 Сообщения: 211 Откуда: Казахстан, Астана
  | 
		
			
				 Добавлено: Вт Апр 06, 2010 10:48 pm    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | gegmopo3 писал(а): | 	 		  Теперь по комповскому асму....
 
Например, переменная х : word, ставлю флаг на carry, но jc не срабатывает когда нужно... Он проверяет первый бит у старшего байта? Или всё же у младшего? (просто на снес у старшего глядит) | 	  
 
Он не проверяет биты у переменной. Он проверяет флаг carry. К примеру, если в переменной имеется число $8000, то при сдвиге влево старший бит выносится в carry флаг, а в переменной будет число 0. Флаг carry будет, соответственно, выставлен. По старшему биту выставляется флаг negative. Вернее sign flag. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		gegmopo3
 
  
  Зарегистрирован: 21.08.2006 Сообщения: 233 Откуда: Красноярск
  | 
		
			
				 Добавлено: Ср Апр 07, 2010 3:56 am    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Спасибо=) Все, сделал   _________________ Я-я-я-я! | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		 |