?login_element?

Subversion Repositories NedoOS

Rev

Rev 1004 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. renderPlainTextScreen:
  2.     call prepareScreen
  3.     ld b, PER_PAGE
  4. .loop
  5.     push bc
  6.     ld a, PER_PAGE : sub b
  7.    
  8.     ld b, a, e, a, a, (page_offset) : add b : ld b, a : call Render.findLine
  9.     ld a, h : or l : jr z, .exit
  10.     ld a, e
  11.     add CURSOR_OFFSET : ld d, a, e, 1 : call TextMode.gotoXY
  12.     call print70Text
  13.     pop bc
  14.     djnz .loop
  15.     ret
  16. .exit
  17.     pop bc
  18.     ret
  19.  
  20. plainTextLoop:
  21.     call Console.getC
  22.    
  23.     cp Console.KEY_DN : jp z, textDown
  24.     cp 'a' : jp z, textDown
  25.  
  26.     cp Console.KEY_UP : jp z, textUp
  27.     cp 'q' : jp z, textUp
  28.    
  29.     cp 'h' : jp z, History.home
  30.     cp 'H' : jp z, History.home
  31.  
  32.     cp 'b' : jp z, History.back
  33.     cp 'B' : jp z, History.back
  34.    
  35.     cp Console.BACKSPACE : jp z, History.back
  36.  
  37.     ifdef GS
  38.     cp 'M' : call z, GeneralSound.toggleModule
  39.     cp 'm' : call z, GeneralSound.toggleModule
  40.     endif
  41.  
  42.     jr plainTextLoop
  43.  
  44.  
  45. textDown:
  46.     ld a, (page_offset) : add PER_PAGE : ld (page_offset), a
  47.     call renderPlainTextScreen
  48.     jp plainTextLoop
  49.  
  50. textUp:
  51.     ld hl, page_offset
  52.     ld a, (hl) : and a : jr z, plainTextLoop
  53.     sub PER_PAGE : ld (hl), a
  54.     call renderPlainTextScreen
  55.     jp plainTextLoop