0 Members and 2 Guests are viewing this topic.
-------------------------------------------------------------------Experiment 4 Memory Editing (v.1)-------------------------------------------------------------------214093 ;ld hl,plotSScreen ;9340h is the address* of the graph screen buffer*3EAA ;ld a,$AA ;$AA→a Feel free to change the "AA"77 ;ld (hl),a ;a→(hl) This stores the value of "a" to the address at "hl"23 ;inc hl ;hl+1→hl77 ;ld (hl),a ;same as beforeC9 ;ret ;StopTo Use:Simply run the program. This will edit the top left corner of thegraph screen.Explanations: Address- People can send you mail from anywhere because they knowyour address. Your address tells where you are. Similarly, inassembly, an address tells where each byte of memory is. Using ahex number between 8000h and FFFFh will give you access to the RAM(which can be edited). This is the address. It just so happensthat the graph screen has all of its data stored at address 9340hThere are 768 bytes of data for the screen and 768=0300h. SoplotSScreen (Plot Save Screen) is 9340h to 963Fh. Whenever you see(), whatever is inside the parentheses is the address. If you see: ld (xx),y"y" is being stored at address "xx" and if you see this: ld y,(xx)Then the value at address "xx" is stored to yPlotSScreen-The way the data is set up is that each byte is 8pixels. If the value is 3Eh, then in binary it is 00111110. All ofthe 1's are dark pixels and all of the 0's are light pixels. Theseare stored in rows, so there are 12 bytes per row (96/8=12). With64 rows, there is 768 bytes in plotSScreen (12*64=768).