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




Reply With Quote