From b6f85d10b0c7a02a0f45ab62471166f2051ee312 Mon Sep 17 00:00:00 2001 From: Irmen de Jong Date: Sun, 27 Sep 2020 22:00:36 +0200 Subject: [PATCH] reintroduced system reset at program exit if zeropage is clobbered --- compiler/src/prog8/compiler/target/c64/codegen/AsmGen.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/compiler/src/prog8/compiler/target/c64/codegen/AsmGen.kt b/compiler/src/prog8/compiler/target/c64/codegen/AsmGen.kt index b5d69202d..4cfa3f1a1 100644 --- a/compiler/src/prog8/compiler/target/c64/codegen/AsmGen.kt +++ b/compiler/src/prog8/compiler/target/c64/codegen/AsmGen.kt @@ -136,6 +136,15 @@ internal class AsmGen(private val program: Program, } } + if(options.zeropage !in setOf(ZeropageType.BASICSAFE, ZeropageType.DONTUSE)) { + out(""" + ; zeropage is clobbered so we need to reset the machine at exit + lda #>${CompilationTarget.instance.name}.reset_system + pha + lda #<${CompilationTarget.instance.name}.reset_system + pha""") + } + out(" jmp main.start ; start program / force start proc to be included") }