fixed and completed comments

This commit is contained in:
Markus Fröschle
2014-09-18 20:13:54 +00:00
parent fb4ec62b12
commit c89127c173

View File

@@ -538,8 +538,10 @@ irq7: // irq7 is tied to PCI INTA# and PCI INTB# on the M5484LITE
rte // return from exception
irq7text:
.data
.ascii "IRQ7!"
.dc.b 13,10,0
.text
#elif MACHINE_FIREBEE /* these handlers are only meaningful for the Firebee */
irq5: // irq5 is tied to PCI INTC# and PCI INTD# on the M5484LITE
@@ -769,7 +771,6 @@ handler_gpt0:
lea -7 * 4(sp),sp // save registers
movem.l d0-d4/a0-a1,(sp)
mvz.b vbasehi,d0 // screen base address high
cmp.w #2,d0 // screen base lower than 0x20000?
blt video_chg_end // yes, do nothing
@@ -788,15 +789,14 @@ sca_other:
move.b 0xffff8203,d0 // mid byte
lsl.l #8,d0
move.b 0xffff820d,d0 // low byte
move.l d0,d3
move.l d0,d3 // d0 and d3 now contain the video memory start address
video_chg_1page:
// check if page is already marked as video page
moveq #20,d4
move.l d0,d2
lsr.l d4,d2 // new page
move.l _video_tlb,d4
bset.l d2,d4 // set as changed
lsr.l d4,d2 // shift right by 20 bit -> page number (MB pages)
move.l _video_tlb,d4 // save to video pages bitmask
bset.l d2,d4 // set as newly set
bne video_chg_2page // was it set already?
move.l d4,_video_tlb
// jsr _flush_and_invalidate_caches FIXME: why should we need that?
@@ -807,10 +807,10 @@ video_copy_data:
move.l d0,a0
move.l a0,a1
add.l #0x60000000,a1
move.l #0x10000,d4 // whole page
move.l #0x10000,d4 // 16 bytes per copy -> 1 MB
video_copy_data_loop:
move.l (a0)+,(a1)+ // copy video page contents to real screen
move.l (a0)+,(a1)+ // copy video page contents to FPGA memory
move.l (a0)+,(a1)+
move.l (a0)+,(a1)+
move.l (a0)+,(a1)+
@@ -834,33 +834,33 @@ video_copy_data_loop:
move.l d1,MCF_MMU_MMUDR
move.l d2,MCF_MMU_MMUOR // setzen vidoe maped to 60xxx only data
nop
video_chg_2page:
// test of adjacent page is needed also
// calculate screen memory size
move.l d3,d0
mvz.w 0xffff8210,d4 // VWRAP: words per scanline
mvz.w 0xffff82aa,d2 // VDE: vertical display end
mvz.w 0xffff82a8,d1 // VDB: vertical display begin
sub.l d1,d2 // number of lines
mulu d2,d4 // times number of words per line
add.l d4,d0 // video memory end address
cmp.l #__STRAM_END,d0 // start address > end of STRAM?
add.l d4,d0 // calculate end address
cmp.l #__STRAM_END,d0 // > end of STRAM?
bge video_chg_end // yes - we're finished
moveq #20,d4
moveq #20,d4 // shift right by 20 bit -> page number (MB pages)
move.l d0,d2
lsr.l d4,d2 // neue page
lsr.l d4,d2 // calculate page number
move.l _video_tlb,d4
bset.l d2,d4 // setzen als ge<EFBFBD>ndert
beq video_copy_data // nein nochmal
bset.l d2,d4 // set as changed
beq video_copy_data // was not set yet, copy
jsr _flush_and_invalidate_caches
video_chg_end:
lea MCF_GPT0_GMS,a0 // disable and reenable timer
bclr.b #0,3(a0) // input capture
lea MCF_GPT0_GMS,a0 // disable and reenable trigger
bclr.b #0,3(a0)
nop
bset.b #0,3(a0)
movem.l (a7),d0-d4/a0-a1 // restore saved registers
movem.l (sp),d0-d4/a0-a1 // restore saved registers
lea 7 * 4(sp),a7
rte
#endif /* MACHINE_FIREBEE */