?login_element?

Subversion Repositories NedoOS

Rev

Rev 1457 | Rev 1976 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download

  1. MODULE viewScreen6912
  2. PUBLIC viewScreen6912
  3. #include "sysdefs.asm"
  4. RSEG CODE
  5.  
  6. viewScreen6912:
  7. ; unsigned int viewScreen6912(unsigned char pause, unsigned int bufAdr);
  8. ; DE = buffer adress
  9.         push hl
  10.         push bc
  11.         push de
  12.         ld c, CMD_GETMAINPAGES
  13.         push ix
  14.         push iy
  15.         call BDOS
  16.         pop iy
  17.         pop ix 
  18.         ld (pg4),de
  19.         ld (pgC),hl
  20.  
  21. display:
  22.         ld e, 0x83
  23.         ld c, CMD_SETGFX
  24.         push ix
  25.         push iy
  26.         call  BDOS
  27.         pop iy
  28.         pop ix
  29.        
  30.         ld a,(user_scr0_high)
  31.        
  32.         push ix
  33.         push iy
  34.         rst 0x28
  35.         pop iy
  36.         pop ix
  37.        
  38.     pop hl
  39.         ld de, 0xC000
  40.         ld bc, 6912
  41.         ldir
  42.     xor a
  43.         out (0xfe), a
  44.  
  45. inkey
  46.         ld c, CMD_YIELD
  47.         push ix
  48.         push iy
  49.         call  BDOS
  50.         pop iy
  51.         pop ix
  52.        
  53.         push ix
  54.         push iy
  55.         rst 0x08
  56.         pop iy
  57.         pop ix 
  58.        
  59.         ld a,c
  60.         ld (pg0), a
  61.         cp 00
  62.         jp z, inkey
  63.         ld l, c
  64.         ld e, -1
  65.         ld c, CMD_SETGFX
  66.         push ix
  67.         push iy
  68.         call BDOS
  69.         pop iy
  70.         pop ix
  71.         ld a, (pgC)
  72.         push ix
  73.         push iy
  74.         rst 0x28
  75.         pop iy
  76.         pop ix
  77.         pop bc
  78.         pop hl
  79.         ld a, (pg0)
  80.         ret
  81. pg4             defb 0
  82. pg0             defb 0
  83. pgC             defb 0
  84. pg8             defb 0
  85. ENDMOD
  86. END
  87.