mirror of
https://github.com/hsoft/collapseos.git
synced 2024-11-26 06:48:05 +11:00
Compare commits
No commits in common. "c57f2d697388ff2b7371ac8aed7e51319a034ea5" and "f4871d4d58b3614b6fb4c5c49462a3620684aacf" have entirely different histories.
c57f2d6973
...
f4871d4d58
276
fonts/5x7.txt
276
fonts/5x7.txt
@ -446,187 +446,187 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
...
|
|
||||||
.
|
|
||||||
....
|
|
||||||
. .
|
|
||||||
....
|
|
||||||
|
|
||||||
|
|
||||||
.
|
|
||||||
.
|
|
||||||
...
|
|
||||||
. .
|
|
||||||
...
|
|
||||||
|
|
||||||
|
|
||||||
...
|
...
|
||||||
. .
|
. .
|
||||||
.
|
|
||||||
. .
|
|
||||||
...
|
|
||||||
|
|
||||||
|
|
||||||
.
|
|
||||||
.
|
|
||||||
...
|
|
||||||
. .
|
|
||||||
...
|
|
||||||
|
|
||||||
|
|
||||||
...
|
|
||||||
. .
|
. .
|
||||||
.....
|
.....
|
||||||
.
|
. .
|
||||||
....
|
. .
|
||||||
|
. .
|
||||||
|
....
|
||||||
..
|
. .
|
||||||
. .
|
. .
|
||||||
.
|
....
|
||||||
...
|
. .
|
||||||
.
|
. .
|
||||||
|
....
|
||||||
|
...
|
||||||
...
|
. .
|
||||||
. .
|
|
||||||
...
|
|
||||||
. .
|
|
||||||
..
|
|
||||||
|
|
||||||
|
|
||||||
.
|
.
|
||||||
.
|
.
|
||||||
...
|
.
|
||||||
. .
|
. .
|
||||||
. .
|
...
|
||||||
|
....
|
||||||
|
. .
|
||||||
.
|
. .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
....
|
||||||
|
.....
|
||||||
|
.
|
||||||
|
.
|
||||||
|
....
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.....
|
||||||
|
.....
|
||||||
|
.
|
||||||
|
.
|
||||||
|
....
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
...
|
||||||
|
. .
|
||||||
|
.
|
||||||
|
. ..
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
...
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
.....
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
...
|
||||||
.
|
.
|
||||||
.
|
.
|
||||||
.
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
...
|
||||||
|
..
|
||||||
.
|
.
|
||||||
|
|
||||||
.
|
.
|
||||||
. .
|
.
|
||||||
..
|
.
|
||||||
|
. .
|
||||||
|
...
|
||||||
. .
|
. .
|
||||||
. .
|
. .
|
||||||
..
|
..
|
||||||
|
.
|
||||||
|
..
|
||||||
. .
|
. .
|
||||||
. .
|
. .
|
||||||
|
.
|
||||||
|
.
|
||||||
..
|
.
|
||||||
.
|
.
|
||||||
.
|
.
|
||||||
.
|
.
|
||||||
..
|
.....
|
||||||
|
. .
|
||||||
|
.. ..
|
||||||
. .
|
|
||||||
. . .
|
. . .
|
||||||
. .
|
. .
|
||||||
. .
|
. .
|
||||||
. .
|
. .
|
||||||
|
|
||||||
|
|
||||||
...
|
|
||||||
. .
|
|
||||||
. .
|
|
||||||
. .
|
|
||||||
. .
|
|
||||||
|
|
||||||
|
|
||||||
...
|
|
||||||
. .
|
. .
|
||||||
. .
|
. .
|
||||||
|
.. .
|
||||||
|
.. .
|
||||||
|
. . .
|
||||||
|
. ..
|
||||||
|
. ..
|
||||||
. .
|
. .
|
||||||
...
|
...
|
||||||
|
. .
|
||||||
|
|
||||||
...
|
|
||||||
. .
|
|
||||||
...
|
|
||||||
.
|
|
||||||
.
|
|
||||||
|
|
||||||
|
|
||||||
...
|
|
||||||
. .
|
|
||||||
...
|
|
||||||
.
|
|
||||||
.
|
|
||||||
|
|
||||||
|
|
||||||
. ..
|
|
||||||
..
|
|
||||||
.
|
|
||||||
.
|
|
||||||
.
|
|
||||||
|
|
||||||
|
|
||||||
...
|
|
||||||
.
|
|
||||||
...
|
|
||||||
.
|
|
||||||
...
|
|
||||||
|
|
||||||
|
|
||||||
.
|
|
||||||
...
|
|
||||||
.
|
|
||||||
.
|
|
||||||
..
|
|
||||||
|
|
||||||
|
|
||||||
. .
|
. .
|
||||||
. .
|
. .
|
||||||
. .
|
. .
|
||||||
. .
|
. .
|
||||||
...
|
...
|
||||||
|
....
|
||||||
|
|
||||||
. .
|
. .
|
||||||
. .
|
. .
|
||||||
. .
|
....
|
||||||
. .
|
.
|
||||||
.
|
.
|
||||||
|
.
|
||||||
|
...
|
||||||
. .
|
. .
|
||||||
. .
|
. .
|
||||||
. .
|
. .
|
||||||
. . .
|
. . .
|
||||||
. .
|
. ..
|
||||||
|
....
|
||||||
|
....
|
||||||
. .
|
. .
|
||||||
. .
|
|
||||||
.
|
|
||||||
. .
|
|
||||||
. .
|
. .
|
||||||
|
....
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
...
|
||||||
. .
|
. .
|
||||||
. .
|
|
||||||
.
|
|
||||||
.
|
|
||||||
.
|
.
|
||||||
|
...
|
||||||
|
.
|
||||||
|
. .
|
||||||
|
...
|
||||||
.....
|
.....
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
...
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
.
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
.. ..
|
||||||
|
. . .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
.
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
. .
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.....
|
||||||
|
. .
|
||||||
.
|
.
|
||||||
.
|
.
|
||||||
.
|
.
|
||||||
|
. .
|
||||||
.....
|
.....
|
||||||
..
|
..
|
||||||
.
|
.
|
||||||
|
Binary file not shown.
@ -2,9 +2,6 @@
|
|||||||
;
|
;
|
||||||
; Implement PutC on TI-84+ (for now)'s LCD screen.
|
; Implement PutC on TI-84+ (for now)'s LCD screen.
|
||||||
;
|
;
|
||||||
; Note that "X-increment" and "Y-increment" work in the opposite way than what
|
|
||||||
; most people expect. Y moves left and right, X moves up and down.
|
|
||||||
;
|
|
||||||
; *** Requirements ***
|
; *** Requirements ***
|
||||||
; fnt/mgm
|
; fnt/mgm
|
||||||
;
|
;
|
||||||
@ -13,7 +10,6 @@
|
|||||||
.equ LCD_PORT_DATA 0x11
|
.equ LCD_PORT_DATA 0x11
|
||||||
|
|
||||||
.equ LCD_CMD_6BIT 0x00
|
.equ LCD_CMD_6BIT 0x00
|
||||||
.equ LCD_CMD_8BIT 0x01
|
|
||||||
.equ LCD_CMD_DISABLE 0x02
|
.equ LCD_CMD_DISABLE 0x02
|
||||||
.equ LCD_CMD_ENABLE 0x03
|
.equ LCD_CMD_ENABLE 0x03
|
||||||
.equ LCD_CMD_XINC 0x05
|
.equ LCD_CMD_XINC 0x05
|
||||||
@ -22,12 +18,6 @@
|
|||||||
.equ LCD_CMD_ROW 0x80
|
.equ LCD_CMD_ROW 0x80
|
||||||
.equ LCD_CMD_CONTRAST 0xc0
|
.equ LCD_CMD_CONTRAST 0xc0
|
||||||
|
|
||||||
; *** Variables ***
|
|
||||||
; Current row being written on. In terms of pixels, not of glyphs. During a
|
|
||||||
; linefeed, this increases by FNT_HEIGHT+1.
|
|
||||||
.equ LCD_CURROW LCD_RAMSTART
|
|
||||||
.equ LCD_RAMEND @+1
|
|
||||||
|
|
||||||
; *** Code ***
|
; *** Code ***
|
||||||
lcdInit:
|
lcdInit:
|
||||||
; Enable the LCD
|
; Enable the LCD
|
||||||
@ -82,22 +72,18 @@ lcdOff:
|
|||||||
|
|
||||||
; Set LCD's current column to A
|
; Set LCD's current column to A
|
||||||
lcdSetCol:
|
lcdSetCol:
|
||||||
push af
|
|
||||||
; The col index specified in A is compounded with LCD_CMD_COL
|
; The col index specified in A is compounded with LCD_CMD_COL
|
||||||
add a, LCD_CMD_COL
|
add a, LCD_CMD_COL
|
||||||
call lcdWait
|
call lcdWait
|
||||||
out (LCD_PORT_CMD), a
|
out (LCD_PORT_CMD), a
|
||||||
pop af
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; Set LCD's current row to A
|
; Set LCD's current row to A
|
||||||
lcdSetRow:
|
lcdSetRow:
|
||||||
push af
|
|
||||||
; The col index specified in A is compounded with LCD_CMD_COL
|
; The col index specified in A is compounded with LCD_CMD_COL
|
||||||
add a, LCD_CMD_ROW
|
add a, LCD_CMD_ROW
|
||||||
call lcdWait
|
call lcdWait
|
||||||
out (LCD_PORT_CMD), a
|
out (LCD_PORT_CMD), a
|
||||||
pop af
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; Send the 5x7 glyph that HL points to to the LCD, at its current position.
|
; Send the 5x7 glyph that HL points to to the LCD, at its current position.
|
||||||
@ -108,7 +94,9 @@ lcdSendGlyph:
|
|||||||
push bc
|
push bc
|
||||||
push hl
|
push hl
|
||||||
|
|
||||||
ld a, (LCD_CURROW)
|
; For the purpose of this program, we only write on the first line.
|
||||||
|
; We can assume that we always start at row 0.
|
||||||
|
xor a
|
||||||
call lcdSetRow
|
call lcdSetRow
|
||||||
|
|
||||||
ld b, 7
|
ld b, 7
|
||||||
@ -141,20 +129,7 @@ lcdSendGlyph:
|
|||||||
pop af
|
pop af
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; Changes the current line and go back to leftmost column
|
|
||||||
lcdLinefeed:
|
|
||||||
push af
|
|
||||||
ld a, (LCD_CURROW)
|
|
||||||
add a, FNT_HEIGHT+1
|
|
||||||
ld (LCD_CURROW), a
|
|
||||||
xor a
|
|
||||||
call lcdSetCol
|
|
||||||
pop af
|
|
||||||
ret
|
|
||||||
|
|
||||||
lcdPutC:
|
lcdPutC:
|
||||||
cp ASCII_LF
|
|
||||||
jp z, lcdLinefeed
|
|
||||||
push hl
|
push hl
|
||||||
call fntGet
|
call fntGet
|
||||||
jr nz, .end
|
jr nz, .end
|
||||||
|
@ -26,10 +26,9 @@
|
|||||||
.equ FNT_WIDTH 5
|
.equ FNT_WIDTH 5
|
||||||
.equ FNT_HEIGHT 7
|
.equ FNT_HEIGHT 7
|
||||||
.inc "fnt/mgm.asm"
|
.inc "fnt/mgm.asm"
|
||||||
.equ LCD_RAMSTART RAMSTART
|
|
||||||
.inc "ti/lcd.asm"
|
.inc "ti/lcd.asm"
|
||||||
.inc "ti/kbd.asm"
|
.inc "ti/kbd.asm"
|
||||||
.equ STDIO_RAMSTART LCD_RAMEND
|
.equ STDIO_RAMSTART RAMSTART
|
||||||
.equ STDIO_GETC GetC
|
.equ STDIO_GETC GetC
|
||||||
.equ STDIO_PUTC lcdPutC
|
.equ STDIO_PUTC lcdPutC
|
||||||
.inc "stdio.asm"
|
.inc "stdio.asm"
|
||||||
|
Loading…
Reference in New Issue
Block a user