Embedding binary (machine) code block into VB
Hi,
I have an old GW-Basic program that I'd like to resurrect part of it for VB. It used "POKE" to place a small 128 byte binary code block into Basic's address segment.
I'm wondering if there is any way to do something similar in VB. I'm thinking of perhaps a Byte array.
Has anyone ever persued doing this?
Below is the GW-Basic code that did this.
Thanks,
Al.
Code:
2640 ' Put API interface assembler code into memory.
2642 '
2644 CF$ = "WSFSBPAI.BIN" 'Input file name.
2645 AO% = 0 'Memory address offset.
2646 OPEN CF$ AS #2 LEN=128 'Open input file.
2648 FIELD #2, 128 AS B$ 'Define input buffer.
2649 CFL% = LOF(2) 'Get length of file.
2650 WR% = (CFL%\128)+1 'Calculate number of whole records.
2651 ' Read API interface code and poke into memory.
2652 FOR L1% = 1 TO WR%: GET #2
2653 FOR L2% = 1 TO 128: POKE AO%,ASC(MID$(B$,L2%,1)): AO% = AO%+1: NEXT L2%
2654 NEXT L1%
2658 APII% = 0 'Save address of API interface CALL handling code.
2660 DEF USR0 = 3 'Save address of API interface USR handling code.
2662 RC%=0: FUNCCODE%=0: FUNCNO%=0: APIREL$=" ": APIVER$=" "
2664 CALL APII%(RC%,FUNCCODE%,APIREL$,APIVER$,FUNCNO%) 'Retrieve API version information.
2666 IF FUNCCODE%<>&H0012 OR RC%<>0 THEN 2686 'API version not retrieved?
2668 PRINT "WSF API version ";APIVER$;", release ";APIREL$;" is running."
2670 SYSAV=2: ROWA=3 :'Define equates for WSF data items.
2682 RETURN