?login_element?

Subversion Repositories NedoOS

Rev

Rev 1615 | Rev 1938 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.     module DialogBox
  2.  
  3. inputBox:
  4.     xor a : ld (inputBuffer), a
  5. .noclear
  6.     call drawBox
  7. .loop
  8.     ld de, #0B05 : call TextMode.gotoXY
  9.     ld hl, inputBuffer : call TextMode.printZ
  10.     ld a, MIME_INPUT : call TextMode.putC : ld a, ' ' : call TextMode.putC
  11. .checkkey
  12.     call Console.getC
  13.     cp Console.BACKSPACE : jr z, .removeChar
  14.    
  15.  
  16.    cp CR : ret z
  17.        
  18.     cp SPACE : jr c, .checkkey
  19. .putC
  20.     ld e, a
  21.     xor a : ld hl, inputBuffer, bc, #ff : cpir
  22.     ld (hl), a : dec hl : ld (hl), e
  23.     jr .loop
  24. .removeChar
  25.     xor a
  26.     ld hl, inputBuffer, bc, #ff : cpir
  27.     push hl
  28.         ld de, inputBuffer + 1
  29.         or a : sbc hl, de
  30.         ld a, h : or l
  31.     pop hl
  32.     jr z, .loop
  33.     xor a
  34.     dec hl : dec hl : ld (hl), a
  35.     jr .loop
  36.  
  37.  
  38. delayinput:
  39.    ld b, 50
  40. .loop2
  41.     halt
  42.     djnz .loop2
  43.     ret
  44.     IFDEF NEDOOS
  45. namedownload db "..",92,"downloads",92
  46.     ELSE
  47. namedownload
  48.     ENDIF
  49. inputBuffer ds 80
  50.  
  51. msgBox:
  52.     call msgNoWait
  53.     ld b, 150
  54. .loop
  55.     halt
  56.     djnz .loop
  57.     ret
  58.  
  59. msgNoWait:
  60.     push hl
  61.     call drawBox
  62.     pop hl
  63.     jp TextMode.printZ
  64.  
  65. drawBox:
  66.     ld h, #0a, a, BORDER_TOP    : call TextMode.fillLine
  67.     ld h, #0b, a, ' '           : call TextMode.fillLine
  68.     ld h, #0c, a, BORDER_BOTTOM : call TextMode.fillLine
  69.    
  70.     IFNDEF TIMEX80
  71.     ld a, #0a : call TextMode.highlightLine
  72.     ld a, #0c : call TextMode.highlightLine
  73.     ENDIF
  74.  
  75.     ld de, #0B03 : call TextMode.gotoXY
  76.     ret
  77.     endmodule
  78.