// SPDX-FileCopyrightText: Chris Pressey, the author of this work, has dedicated it to the public domain. // For more information, please refer to // SPDX-License-Identifier: Unlicense byte vic_border @ 53280 // // The constraints on these 2 vectors are kind-of sort-of big fibs. // They're only written this way so they can be compatible with our // routine. In fact, CINV is an interrupt routine where it doesn't // really matter what you trash anyway, because all registers were /// saved by the caller (the KERNAL) and will be restored by the end // of the code of the saved origin cinv routine that we goto. // // I wonder if this could be arranged somehow to be less fibby, in // a future version of SixtyPical. // vector routine inputs vic_border outputs vic_border trashes z, n cinv @ 788 vector routine inputs vic_border outputs vic_border trashes z, n save_cinv define our_cinv routine inputs vic_border outputs vic_border trashes z, n { inc vic_border goto save_cinv } define main routine inputs cinv outputs cinv, save_cinv trashes a, n, z { with interrupts off { copy cinv, save_cinv copy our_cinv, cinv } }