;********************************************************************* ; includes ;********************************************************************* .incdir "F:\git\goldmomo_endlos\assembler_files\ucore\" .include "include\ucore_ctrl.i" ;********************************************************************* ; sd header is placed here ;********************************************************************* .include "boot_level_sdHeader.s" ;********************************************************************* ;* start at address 32 here ;********************************************************************* start cli ;setup video gpci r7,2 ;next 4 + X br setupVideo nop ;delay slot nop ;delay slot nop ;delay slot nop ;delay slot ; delay slot ; clear screen movei r2,$00 ;destination movei r3,$00 moveih r2,$00 moveih r3,$d0 ;p(0,0) = d000 0000 gpci r7,2 ;next 4 + X br memclr32 movei r1,$33 ; count delay slot movei r0,$00 ; value delay slot moveih r1,$9e ; count delay slot nop ; delay slot ;draw text gpci r7,2 ;next 4 + X br drawTextFormated movei r0,t1 ;text delay slot movei r1,0 ;x delay slot moveih r0,>t1 ; delay slot movei r2,0 ;y delay slot gpci r7,2 ;next 4 + X br drawTextFormated movei r0,t2 ;text delay slot movei r1,0 ;x delay slot moveih r0,>t2 ; delay slot movei r2,1 ;y delay slot end br end nop ;delay slot nop ;delay slot nop ;delay slot nop ;delay slot t1 .string "goldmomo_endlos hires" word 0 t2 .string "video is set to 1440x900x15" word 0 ;********************************************************************* ;* included functions ;********************************************************************* .include "components\drawText.s" .include "components\drawChar.s" ;draw char related data drawFrame word $d000 word $0000 ;dram fontAddress word $e001 word $5068 ;font src screenWidth word 1440 ;****************************** ;* ;* r0 value ;* r1 count-1 (32 words per count) ;* r3:r2 dest ;* ;* trash r4 ;* memclr32 clearLoop movei r4,3 clearInnerLoop esadr r3,r2 est r0,0 est r0,1 est r0,2 est r0,3 est r0,4 est r0,5 est r0,6 est r0,7 subi r4,1 brts clearInnerLoop addi r2,8 ;delay slot addtqi r3,r3,0 ;delay slot nop ;delay slot nop ;delay slot subi r1,1 brts clearLoop nop ;delay slot nop ;delay slot nop ;delay slot nop ;delay slot jmpi r7,0 nop ;delay slot nop ;delay slot nop ;delay slot nop ;delay slot ;****************************** ;* ;* setupVideo ;* setupVideo movei r0,videoDefault ;source movei r1,UcTimer2Ctrl ;dest-1 moveih r0,>videoDefault moveih r1,>UcTimer2Ctrl movei r2,26 ;27-1 setupVideoLoop rqldi r0,0 addi r0,1 addi r1,1 ld r3 subi r2,1 brts setupVideoLoop st r1,r3 ;delay slot nop ;delay slot nop ;delay slot nop ;delay slot jmpi r7,0 nop ;delay slot nop ;delay slot nop ;delay slot nop ;delay slot ;********************************************************************* ;* data ;********************************************************************* videoDefault ;AD NAME DEFAULT word $0001 ;10 VIDEO_ON 1 (ON) word $0097 ;11 HSYNC (D = 11 .. 0) 152-1 word $017f ;12 HSTART (D = 11 .. 0) 384-1 word $017d ;13 HMEMSTART (D = 11 .. 0) 382-1 word $071f ;14 HSTOP (D = 11 .. 0) 1824-1 word $076f ;15 HTOTAL (D = 11 .. 0) 1904-1 word $0002 ;16 VSYNC (D = 10 .. 0) 3-1 word $001e ;17 VSTART (D = 10 .. 0) 31-1 word $03a2 ;18 VSTOP (D = 10 .. 0) 931-1 word $03a3 ;19 VTOTAL (D = 10 .. 0) 932-1 word $0000 ;1a LC ADDER LOW $0000 word $0100 ;1b LC ADDER HIGH $0040 word $0000 ;1c LC ADDER LATCH X word $0000 ;1d LC START (10 .. 0) Pixeloffset $0000 word $0000 ;1e X word $0000 ;1f X word $0008 ;20 HLOADSTART 8 word $02d8 ;21 HLOADSTOP 180+8 word $001e ;22 VLOADSTART 31-1 word $03a2 ;23 VLOADSTOP 931-1 word $0001 ;24 VLOADNEXT 4 word $0000 ;25 MEM_STARTADR_store low $0000 word $d000 ;26 MEM_STARTADR_store high $f000 word $0000 ;27 MEM_LINEOFFSET_store low $0000 word $0000 ;28 MEM_LINEOFFSET_store high $0000 word $0002 ;29 MEM_MODE_store 2 (X1R5G5B5X1R5G5B5) word $0000 ;2a LATCH MEM_STARTADR/LINEOFFSET/MODE X