PeekShort ( bank,offset )
Parameters
|
bank - bank handle returned by CreateBank offset - position in the bank to read from, in bytes |
Description
|
Reads a short from a bank and returns it as a value from 0 to 65535. A short occupies 2 bytes of the bank (the addressed byte and the one after) and is always read unsigned. The offset can be any byte position - shorts do not have to sit on even offsets. The 2-byte range must lie inside the bank or a runtime error is raised, so the last valid offset is BankSize-2. See also: PokeShort, PeekByte, PeekInt, PeekFloat. |
Example
; PeekShort Example ; ----------------- ; A player save-game record packed into a memory bank. ; Field sizes: byte=1, short=2, int=4, float=4 bytes. ; ; offset 0 flags (byte, 1 byte ) ; offset 1 hp (short, 2 bytes) ; offset 3 score (int, 4 bytes) ; offset 7 x_pos (float, 4 bytes) = 11 bytes in total save=CreateBank(11) ; Pack the record - each Poke writes its field at a byte offset PokeByte save,0,5 PokeShort save,1,250 PokeInt save,3,1234567 PokeFloat save,7,17.25 ; Unpack the record - PeekShort reads the 2-byte hp field ; back from offset 1 (values 0-65535) Print "Player record in a "+BankSize(save)+" byte bank:" Print "" Print "offset 0 flags (byte) = "+PeekByte(save,0) Print "offset 1 hp (short) = "+PeekShort(save,1) Print "offset 3 score (int) = "+PeekInt(save,3) Print "offset 7 x_pos (float) = "+PeekFloat(save,7) ; Dump every byte so the layout is visible ; (ints and floats are stored low byte first) dump$="" For i=0 To BankSize(save)-1 dump$=dump$+PeekByte(save,i)+" " Next Print "" Print "Raw bytes: "+dump$ ; Release the memory when done FreeBank save Print "" Print "Press any key to close the example" WaitKey End
Index