?login_element?

Subversion Repositories NedoOS

Rev

Rev 1988 | Blame | Compare with Previous | Last modification | View Log | Download

  1. ; A - row number
  2. ; HL - pointer to row
  3. renderRow:
  4.     add CURSOR_OFFSET
  5.     ld d,a
  6.     ld e,0
  7.     call TextMode.gotoXY
  8.     ld a,(hl)
  9.     push hl
  10.     call getIcon
  11.     call TextMode.putC
  12.     pop hl
  13.     inc hl
  14.     jp print70Goph
  15.  
  16. ; A - gopher id char
  17. getIcon:
  18.     cp 'i' : jp z, .info
  19.     cp '9' : jp z, .down
  20.     cp '1' : jp z, .page
  21.     cp '0' : jp z, .text
  22.     cp '7' : jp z, .input
  23.     cp 's' : jp z, .down
  24.     ld a, ' '
  25.     ret
  26. .info
  27.     ld a, SPACE : ret
  28. .down
  29.     ld de, hl
  30.     ld bc, #ff, a, TAB : cpir
  31.     ld a, b : or c : jr z, .downExit
  32.     push de
  33. .nameLoop
  34.     ld a, (hl) : and a : jr z, .check
  35.     cp TAB : jr z, .check
  36.     cp CR : jr z, .check
  37.     push hl
  38.     call CompareBuff.push
  39.     pop hl
  40.     inc hl
  41.     jr .nameLoop
  42. .check
  43.         ld a,(saveMode+1);
  44.         or a
  45.         jr nz,.checkExit
  46.         ld hl, scrExt1 : call CompareBuff.search : and a : jr nz, .image
  47.     ld hl, scrExt2 : call CompareBuff.search : and a : jr nz, .image
  48.     ld a, 3 : ld (VTPL.SETUP), a ; 0 bit - looping, 1 bit - pt2 file
  49.     ld hl, pt2Ext1 : call CompareBuff.search : and a : jr nz, .music
  50.     ld hl, pt2Ext2 : call CompareBuff.search : and a : jr nz, .music
  51.     ld a, 1 : ld (VTPL.SETUP), a
  52.     ld hl, pt3Ext1 : call CompareBuff.search : and a : jr nz, .music
  53.     ld hl, pt3Ext2 : call CompareBuff.search : and a : jr nz, .music
  54.    
  55.     ; General Sound support
  56.     ifdef GS
  57.     ld hl, modExt1 : call CompareBuff.search : and a : jr nz, .mod
  58.     ld hl, modExt2 : call CompareBuff.search : and a : jr nz, .mod
  59.     endif
  60.    
  61. .checkExit
  62.     pop hl
  63. .downExit
  64.     ld a, MIME_DOWNLOAD : ret
  65. .page
  66.     ld a, MIME_LINK     : ret
  67. .text
  68.     ld a, MIME_TEXT     : ret
  69. .input
  70.     ld a, MIME_INPUT    : ret
  71. .image
  72.     pop hl : ld a, MIME_IMAGE   : ret
  73. .music
  74.     pop hl : ld a, MIME_MUSIC   : ret
  75. .mod
  76.     pop hl: ld a, MIME_MOD      : ret
  77.  
  78. scrExt1 db ".scr", 0
  79. scrExt2 db ".SCR", 0
  80.  
  81. pt3Ext1 db ".pt3", 0
  82. pt3Ext2 db ".PT3", 0
  83. pt2Ext1 db ".pt2", 0
  84. pt2Ext2 db ".PT2", 0
  85. modExt1 db ".mod", 0
  86. modExt2 db ".MOD", 0
  87.  
  88. toggleSaveMode
  89.                         push bc
  90.             push hl
  91.             push de
  92.             push af
  93.                         call Console.waitForKeyUp
  94. saveMode        ld a,0 ;Open/Save files
  95.                         xor 1
  96.                         ld (saveMode+1),a
  97. printsavemode
  98.             ld de, #0100
  99.             call TextMode.gotoXY
  100.             ld hl, playmodetext
  101.             ld a,(saveMode+1)
  102.             or a
  103.             jp z, playmodeselect
  104.             ld hl, savemodetext
  105. playmodeselect
  106.             call TextMode.printZ
  107.                         pop af
  108.             pop de
  109.             pop hl
  110.             pop bc
  111.                         ret
  112.            
  113. savemodetext
  114.     db "[Save mode]",0
  115. playmodetext
  116.     db "[Play mode]",0