When the interrupt line of a TRS-80 is asserted, Level II BASIC jumps to a location in the area of RAM reserved for the operating system. Interrupts are disabled by default and at this location is a jump instruction which is preset to simply send the program counter back to ROM. To utilise interrupts, you can modify the address value here to redirect to your custom interrupt service routine. Your routine just has to terminate with a jump back to the original ROM address.
I am wondering if the BASIC interpreter loop has a similar cycle. This could theoretically permit the BASIC language to be expanded with machine code routines which load into high memory. For example, you could add new BASIC statements to control custom expansion hardware.
Does anyone out there know if such a provision was included in Level II BASIC?
I am wondering if the BASIC interpreter loop has a similar cycle. This could theoretically permit the BASIC language to be expanded with machine code routines which load into high memory. For example, you could add new BASIC statements to control custom expansion hardware.
Does anyone out there know if such a provision was included in Level II BASIC?