A89: Where to get 89asm info !!


[Prev][Next][Index][Thread]

A89: Where to get 89asm info !!




Greetings,
I am programming in asm for the 92/92+ since April and I look forward to get
also the 89. It seems to me that many of you have no experience with the 68k
processor. If you are one of these get the 92guide.zip at ticalc.org. It
includes newbies.txt for the newbies and system.txt for the advanced
programmers. It also contains 3 different lessons which are about
interrupts, graphics, sprites,... All what you are searching for.
But if you want to know something about interrupt adresses you will need the
documentation which goes with fargo 2.7.1, also avaiable at ticalc.org.
You should know also that the 92/92+/89 rom includes an option to activate
hardware controlled grayscale
(!!!no library!!!). All guys of the 92/92+ programmers seem to forgot that
but Tleilax(zorg@humanoid.net). He played around with the interrupt adresses
of the video controllers. I included a textfile with information he
discovered at the bottom.
My current project is TI Mario World on the 92/92+, a Jump'n'Run with the
original SuperMarioLand2 Graphics(4 Color Grayscale). I am currently working
really hard on it. When I will get my 89, I sure will port it to the 89. If
you are interested, visit the P.U.D. section at http://start.at/Home92 with
many screenshots and a documentation on it.

Klaus Lukaschek
lukas1@xpoint.at
---------------------------------------------------------------
Tleilax:
Here are some of the things I found out about the TI-92 I/O.
The most interresting part is about hardware graylevels.

($600003):
  $02 -> Switches to 4 graylevels (2 bitplanes) if you wrote $f0 at $600012
($600005):
  $02 -> Freezes everything (graylevels, etc) until an event happens
(keyboard)
  $04 -> idem
  $08 -> idem
  $10 -> disturbs graylevels
  $20 -> cf $02
($600012):
  $30 -> screen lines are now 32 bytes long
  $10 -> 32 bytes lines + 4 graylevels (3 bitplanes following each other)
  $f0 -> allows 2 bitplanes mode (cf $600003)
  the lower 4 bits seem to be related with line size

($600015):
  $00 -> Triggers Int 3
  $01 -> turns the screen off and freezes
($60001c):
  $f0 -> magnify the screen vertically (strange)
  $30 -> idem
  bit 3 seems to horizontally unmagnify the screen
  $3c -> a line at the bottom of the screen
  $3d -> idem
  $3e -> idem at the top
  $3f -> idem a bit lower

Interrupts must be disabled to use the graylevels.
The 3 bitplanes mode for 4 graylevels has a very good quality
The 2 bitplanes mode has a poor quality.
It is possible to obtain more graylevels (at least 6 bitplanes), but the
quality is really low.
It is probably possible to obtain a good quality with the 2 bitplanes mode,
but I don't know how yet.