All pastes #284312 Raw Edit

Someone

public text v1 · immutable
#284312 ·published 2006-12-19 00:39 UTC
rendered paste body
include "include\ATJ2085_Ports.inc"
DEFC LCD_PORT=0xee ;MFP_GPOA_SELECT_REG
DEFC LCD_BIT=1

DEFC hlength = 0x800
DEFC clength = 0x34F
DEFC orgval  = 0x0
DEFC filesize = 3072
org orgval
  defw 0x50,0x4757,0x9719,0x3
  defw hlength,0,clength,hlength
  defw 0, 0, 0, 0, 0,0,hlength
endheader:
  defs hlength-(endheader-orgval)

start:
	di
	ld a,0
	out (WATCHDOG_REG),a ; disable watchdog

;	ld a,INT_MROM_SRAM_ZRAM2
;	out (INTERNAL_MROM_SRAM_PAGE_REG),a

	ld a,0x1f   ;MFP_SELECT_CS0S|GPOA2_ENABLE|GPOA2_OUTPUT_2|GPOA2_OUTPUT_1|GPOA2_OUTPUT_0
	out (MFP_GPOA_SELECT_REG),a

	ld a, EM_PAGE_HI_CE3_INV ; for output to the lcd
	out (EM_PAGE_HI_REG),a

	ld sp,lastl ; set stack

	call set_dat

;	 in a,(GPIOB_DATA_REG) ; set background to white
;        and 0xf8
;        out (GPIOB_DATA_REG),a

	ld a,MINT_ENABLE_RTC
	out (MINT_ENABLE_REG),a
	

	im 1
	ld	hl,misrstart
	ld	de,0x0038
	ld	bc,misrend-misrstart
	ldir

; copy NMI ISR to 0x0066
	ld	hl,nmisrstart
	ld	de,0x0066
	ld	bc,nmisrend-nmisrstart
	ldir

   ;     ei 	
	ld a,3
	ld b,0
hang:
 	inc b
        call printval
	jr hang


misrstart:
	ei
	reti
misrend:
nmisrstart:
	retn
nmisrend:
set_cmd:
	in a,(LCD_PORT) ;0xee
	or LCD_BIT
	sub LCD_BIT
	out (LCD_PORT),a
	ret
set_dat:
	in a,(LCD_PORT)
	or LCD_BIT
	out (LCD_PORT),a
	ret
send_cmd: ; command in a
	push af
	call set_cmd
	pop af
	ld (0x8001),a
	push af
	call set_dat
	pop af
	ret
setsl: ; set screen page [c:0-3] and column [b:0-255]
	push af
	call set_cmd
	ld a,0xB0
	or c
	ld (0x8001),a
	ld a,b
	and 0x0F  ;the lowest 4 bits
	ld (0x8001),a
	ld a,b
	srl a
	srl a
	srl a
	srl a
	or 0x10
	ld (0x8001),a
	call set_dat
	pop af
	ret
clearcol: ;column: b[0-255], modifies c
	push af
	xor a
	ld c,0
	call setsl
	ld (0x8000),a
	ld c,1
	call setsl
	ld (0x8000),a
	ld c,2
	call setsl
	ld (0x8000),a
	ld c,3
	call setsl
	ld (0x8000),a
	pop af
	ret
printval: ;print a value a[0..31] column: b[0-255]
	push af
	push bc
	call clearcol
	ld c,a
	srl c
	srl c
	srl c
	call setsl
	and 7
	ld b,a
	inc b
	ld a,0x80
loopie:
       rlc a
       djnz loopie
       ld (0x8000),a
       pop bc
       pop af
       ret

current:
 defs filesize-(current-orgval)
lastl: