Сборный / Говнокод #27418 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
  65. 65
  66. 66
  67. 67
  68. 68
  69. 69
  70. 70
  71. 71
  72. 72
  73. 73
  74. 74
  75. 75
  76. 76
  77. 77
  78. 78
  79. 79
  80. 80
  81. 81
  82. 82
  83. 83
  84. 84
  85. 85
  86. 86
  87. 87
  88. 88
  89. 89
.ALIAS HALT 10h
.ALIAS VBI   0h
.ALIAS VPUSCRADDR 3000h
.ALIAS VPUATRADDR 3002h
.ALIAS VPUCTRL 3004h
.ALIAS VPUCTRL_WH 3005h
.ALIAS VPUCTRL_F 3006h
.ALIAS VPUCTRL_VBI 0
.ALIAS VPUCTRL_ACT 1
.ALIAS VPUCTRL_TICK 2

.ALIAS W 10
.ALIAS H 5

.ALIAS I   %BL
.ALIAS PTR %C

.ORG 2000h SCR:
.ORG 2100h ATR:

.ORG #VBI
DD @VBI

.ORG 30h
DATA:

.ORG 40h
STATE:
	X: DB 0
	
.ORG 80h
_START:
	SET   %AL #VPUCTRL_VBI
	SET   %AL #VPUCTRL_ACT
	STORE %AL #VPUCTRL_F
	MOV   %AL #H
	SHL   %AL 4
	OR    %AL #W

	STORE %AL #VPUCTRL_WH
	
	MOV   %A @SCR
	STORE %A #VPUSCRADDR
	MOV   %A @ATR
	STORE %A #VPUATRADDR
	
	LOAD  %AL #VPUCTRL_F
	SET   %AL #VPUCTRL_TICK
	STORE %AL #VPUCTRL_F
	STORE %AL #VPUCTRL_F
	LOOP:
	JMP @LOOP

VBI:
	PUSH  %A
	PUSH  %B
	PUSH  %C
	
	LOAD  %AL @X
	ADD   %AL 1
	
	CMP   %AL #W JNE @VBI_CONTINUE
	XOR   %AL %AL     VBI_CONTINUE:
	STORE %AL @X
	
	CMP   %AL 0  JNE @VBI_ELSE
		MOV   #PTR @SCR
		ADD   #PTR #W
		SUB   #PTR 1
		STORE #PTR %AL 
		JMP @VBI_SKIP
	
	VBI_ELSE:
		MOV   #PTR @SCR
		ADD   #PTR %AL
		SUB   #PTR 1
		MOV   %BH 0
		STORE #PTR %BH
	VBI_SKIP:

	MOV   #PTR @SCR
	ADD   #PTR %AL
	MOV   %BH  FFh
	STORE #PTR %BH
	
	POP %C
	POP %B
	POP %A
	RET

похождения моей ебанутой вмки продолжаются.
bormand сказало что писать подставным прерыванием в консольку это читерство. реализовал видеовывод. теперь нормально? (слегка криво, и на
атрибуты вмке похуй, как и мне.)

вопреки моим огромным сомнениям, выдает 600 фпс даже на моей скромной конфигурации.

https://imgur.com/fdLlQvx

Запостил: digitalEugene digitalEugene, (Updated )

Комментарии (9) RSS

  • > теперь нормально

    Круто)

    Осталось клавиатуру приделать и можно общаться с этой машинкой. Или уже есть?
    Ответить
    • Идите уже до конца: пускай это будет hid клавиатура, а в машине по MMIO пусть будет xhci. Под него и пишите
      Ответить
      • Какие xhci в 16-битное время? Тут только ps/2, только хардкор...
        Ответить
            • Анектоды (пионэр vs пенсионер)
              boullat 10 лет назад

              На остановке стоят пионер и пенсионер. Пенсионер чихает. Пионер:
              - Будьте здоровы!
              - Спасибо.
              - Пожалуйста.
              - Не стоит.
              - Ну что Вы…
              - Не умничай.
              - Пошел ты нахуй!
              -----------------------------------------------------------------------------------
              Идет пенсионер по улице, навстречу пионер. Пенсионер чихает.
              Пионер: Будьте здоровы!
              Пенсионер: А я, между прочим, не болею – я табачок нюхаю!
              Пионер: Да ты, дед, хоть хуй нюхай – нас в школе вежливости учат!
              Ответить

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8