nodeus

x, y to scr

Aug 3rd, 2012
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; Адрес экрана, используемый в процедурах ниже
  2. ; Для обычного экрана- #4000. Для рисования на втором экране- #c000
  3. ; Используя другие адреса можно рассчитывать координаты и во внеэкранных буферах.
  4. ; Адрес должен быть кратен #2000 - для других адресов процедуры придется усложнять
  5. SCREEN_ADDR EQU #4000
  6. ATTR_ADDR EQU SCREEN_ADDR+#1800
  7.  
  8. ; Расчет адреса в экранной области с точностью до знакоместа
  9. ; Входные параметры:
  10. ;  L - координата по оси ординат (0..23)
  11. ;  H - координата по оси абсцисс (0..31)
  12. ; Результат:
  13. ;  HL - адрес в экранной области
  14. ; Замечание:
  15. ;  используется аккумулятор
  16.  
  17.         LD A,L
  18.         AND 7
  19.         RRCA
  20.         RRCA
  21.         RRCA
  22.         ADD A,H
  23.         LD H,L
  24.         LD L,A
  25.         LD A,H
  26.         AND #18
  27.         OR SCREEN_ADDR/#100
  28.         LD H,A
Advertisement
Add Comment
Please, Sign In to add comment