Skip to navigation

Revs on the BBC Micro

Dashboard: fillDataOffset

Name: fillDataOffset [Show more] Type: Variable Category: Dashboard Summary: Dash data offsets, tweaked to give bottom line values that are compatible with the process of filling blocks to the left Deep dive: Creating objects from edges
Context: See this variable in context in the source code References: This variable is used as follows: * FillInsideObject calls fillDataOffset

Contains dash data offsets that are skewed so that dash data blocks whose left neighbours start lower down the screen than they do (i.e. they have a smaller offset) contain the left neighbour's offset rather than their own. This ensures that when filling blocks to the left of the current block, the value of the bottom line (i.e. the offset) is set to the bottom of the column being filled, rather than the smaller column to its right.
.fillDataOffset EQUB dashData0 - (dashData + &80 * 0) - 1 \ These match dashDataOffset EQUB dashData1 - (dashData + &80 * 1) - 1 EQUB dashData2 - (dashData + &80 * 2) - 1 EQUB dashData3 - (dashData + &80 * 3) - 1 EQUB dashData4 - (dashData + &80 * 4) - 1 EQUB dashData5 - (dashData + &80 * 5) - 1 EQUB dashData6 - (dashData + &80 * 6) - 1 EQUB dashData6 - (dashData + &80 * 6) - 1 \ dashData6 repeated, as block 7 \ is smaller than block 6 EQUB dashData7 - (dashData + &80 * 7) - 1 \ These are out by one, so the EQUB dashData8 - (dashData + &80 * 8) - 1 \ X-th entry is the offset for EQUB dashData9 - (dashData + &80 * 9) - 1 \ block X - 1 EQUB dashData10 - (dashData + &80 * 10) - 1 EQUB dashData11 - (dashData + &80 * 11) - 1 EQUB dashData12 - (dashData + &80 * 12) - 1 EQUB dashData13 - (dashData + &80 * 13) - 1 EQUB dashData14 - (dashData + &80 * 14) - 1 EQUB dashData15 - (dashData + &80 * 15) - 1 EQUB dashData16 - (dashData + &80 * 16) - 1 EQUB dashData17 - (dashData + &80 * 17) - 1 EQUB dashData18 - (dashData + &80 * 18) - 1 EQUB dashData19 - (dashData + &80 * 19) - 1 EQUB dashData20 - (dashData + &80 * 20) - 1 EQUB dashData21 - (dashData + &80 * 21) - 1 EQUB dashData22 - (dashData + &80 * 22) - 1 EQUB dashData23 - (dashData + &80 * 23) - 1 EQUB dashData24 - (dashData + &80 * 24) - 1 \ dashData25 skipped as block 26 \ is larger than block 25 EQUB dashData26 - (dashData + &80 * 26) - 1 \ These match dashDataOffset EQUB dashData27 - (dashData + &80 * 27) - 1 EQUB dashData28 - (dashData + &80 * 28) - 1 EQUB dashData29 - (dashData + &80 * 29) - 1 EQUB dashData30 - (dashData + &80 * 30) - 1 EQUB dashData31 - (dashData + &80 * 31) - 1 EQUB dashData32 - (dashData + &80 * 32) - 1 EQUB dashData33 - (dashData + &80 * 33) - 1 EQUB dashData34 - (dashData + &80 * 34) - 1 EQUB dashData34 - (dashData + &80 * 34) - 1 \ dashData34 repeated, as block \ 35 is smaller than block 34 EQUB dashData35 - (dashData + &80 * 35) - 1 \ These are out by one, so the EQUB dashData36 - (dashData + &80 * 36) - 1 \ X-th entry is the offset for \ block X - 1 \ dashData37 skipped as block 38 \ is larger than block 37 EQUB dashData38 - (dashData + &80 * 38) - 1 \ These match dashDataOffset EQUB dashData39 - (dashData + &80 * 39) - 1 EQUB dashData40 - (dashData + &80 * 40) - 1 \ Not used for the screen buffer EQUB &20, &20 \ These bytes appear to be unused EQUB &20, &42 EQUB &65, &68 EQUB &69