2015-10-18 22:31:17 +00:00
|
|
|
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
|
2015-10-18 22:31:17 +00:00
|
|
|
|
|
|
|
routine our_cinv
|
|
|
|
inputs vic_border
|
|
|
|
outputs vic_border
|
|
|
|
trashes z, n
|
|
|
|
{
|
|
|
|
inc vic_border
|
2015-10-23 15:37:18 +00:00
|
|
|
goto save_cinv
|
2015-10-18 22:31:17 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
routine main
|
2015-10-23 15:37:18 +00:00
|
|
|
inputs cinv
|
2015-10-18 22:31:17 +00:00
|
|
|
outputs cinv, save_cinv
|
|
|
|
trashes a, n, z
|
|
|
|
{
|
|
|
|
with interrupts off {
|
|
|
|
copy cinv, save_cinv
|
|
|
|
copy our_cinv, cinv
|
|
|
|
}
|
|
|
|
}
|