Sanity checks:
Code:
Start of 72 lines loop
Start of 8 words loop
source = (long)bm.baseAddr = 0x398F6F0
dest = (long)backgroundWin->portBits.baseAddr + 16 (just to put it 16*8 pixels to the right, arbitrarily somewhere else) = 0x05EC0010
a0 = 0398F6F0
a1 = 05Ec0010
d0 = 00000008 //0x08 words = 128 pixels
d1 = 00000048 //0x48 lines = 72 lines
After 4 copies of words,
d0 = 00000004 //half-way through the line
d1 = 00000048 //no line has been finished yet
Status of the top of the image (the SOURCE), you can even "see" the first lone white pixel near the top left in this chunk inside the monitor (I did DM 398F6F0, TD as in Dump Memory from a specific memory address):
Status of the top of the destination area in the window (I did DM 05EC0010):
This is strange as I would expect for FFFF's to start appearing here!
Also unsettling, I can't get the leftmost 2 hex characters of the addresses I need to peek in this view of memory. Am I in the right place?
After looping back to line #2, we have these addresses:
we see that source = former bm.baseAddr + 0x40 and dest = former backgroundWin->portBits.baseAddr + 0x40 (+ 0x10 arbitrary offset I put in), so it should still be aligned to the left of the image, 64 bytes later
at the start of line 2,
a0 = 0x03 98F72C (same as the updated source)
a1 = 0x05 EC0050 (same as the updated dest)
d0 = 8 //ready to do a full line
d1 = 47 //the total of lines has been reduced by 1
Checking the source, the lone E has been displaced?
Still no change from a dump to the destination (but the question remains,am I viewing the right place)