Thanks to Julio Marchi for this space in MSX All
 

Screen 2 Show

  Create animated displays for MSX screen 2 images.


Project details
  The Screen 2 Show project involves both MSX and PC computers. At the MSX side, aims at developing display algorithms in Assembly. At the PC side, aims at developing tools to help on adding the display code to images converted to MSX.
  Currently, this project works only with MSX 1 screen 2 format. Thus, it is extensible to other screen formats.


  How the program works

      Arquivo                     RAM                  VRAM

 10 SCREEN 2                9000 | MPPPP  |      0000 | PPPPPP |
 20 BLOAD"TELA.SCR",R  ->   .... | CCCCD  |  ->  .... |        |
 30 GOTO 30                 FFFF |        |      2000 | CCCCCC |
  The first action is to load the program into the RAM, starting at the address &H9000. It is divided into:
  • The main program (marked as a green "M")
  • The compacted image (marked as a blue "P" for the pattern image and a red "C" for the color image)
  • The display program (marked as cyan "D")
  Different from the previous version, which used compacted images, the main program now only calls the display routine that copies image from RAM address &H9000 to VRAM.


  File layout

Part MSX Address
Header 8FF5
Main code 8FFC
Image pattern 9000
Image color A800
Display code C000


  Header description

MSX Address Value Description
- FE  MSX Binary file ID
- F5  Program beggining
- 8F  Program beggining (8FF5)
- xx  End of File
- xx  End of file
- FC  Exec beggining
- 8F  Exec beggining (8FFC)
8FF5 xx  Type of display:
 00 - Direct
 01 - Top to bottom
 02 - Left to right
 03 - Diagonal
 04 - Snail in
 05 - Frame
8FF6 4D  "M"
8FF7 61  "a"
8FF8 72  "r"
8FF9 4D  "M"
8FFA 53  "S"
8FFB 58  "X"

  - → Not used address.
  xx → Undefined value.



  Main code
 line code              mnemonics
------------------------------------------------------------------------
   10 			ORG  &H8FFC
   20 CD 00 C0		CALL &HC000		; Calls display routine
   30 C9		RET			; end

  Display codes
  10		ORG &HC000
  20 TELA:	LD   BC,&H1800		; $
  30 		LD   DE,0		; $
  40 		LD   HL,&H4000		; $
  50 		CALL &H5C		; $ Particular routine to display screen
  60 		LD   BC,&H1800		; $ In this case, copies direct
  70 		LD   DE,&H2000		; $
  80 		LD   HL,&H5800		; $
  90 		CALL &H5C		; $
  100		RET 			; $

  Access here:

  Former project that compressed screen
  Display codes
  Support: Screen 2 Achitecture


Marcelo Silveira
Systems and Computing Engineer
Expert in Image Processing and Artificial Intelligence
© MarMSX 1999-2025