1
0
mirror of https://github.com/catseye/SixtyPical.git synced 2024-06-01 12:41:30 +00:00
SixtyPical/eg/c64/intr1.60p

50 lines
1.2 KiB
Plaintext
Raw Normal View History

// SPDX-FileCopyrightText: Chris Pressey, the author of this work, has dedicated it to the public domain.
// For more information, please refer to <https://unlicense.org/>
// SPDX-License-Identifier: Unlicense
byte vic_border @ 53280
2015-10-23 15:37:18 +00:00
//
// 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.
//
2018-03-13 09:25:06 +00:00
vector routine
2015-10-23 15:37:18 +00:00
inputs vic_border
outputs vic_border
trashes z, n
2018-03-13 09:25:06 +00:00
cinv @ 788
2015-10-23 15:37:18 +00:00
2018-03-13 09:25:06 +00:00
vector routine
2015-10-23 15:37:18 +00:00
inputs vic_border
outputs vic_border
trashes z, n
2018-03-13 09:25:06 +00:00
save_cinv
2018-09-09 13:01:38 +00:00
define our_cinv routine
inputs vic_border
outputs vic_border
trashes z, n
{
inc vic_border
2015-10-23 15:37:18 +00:00
goto save_cinv
}
2018-09-09 13:01:38 +00:00
define main routine
2015-10-23 15:37:18 +00:00
inputs cinv
outputs cinv, save_cinv
trashes a, n, z
{
with interrupts off {
copy cinv, save_cinv
copy our_cinv, cinv
}
}