From 5bf0b4466b8ae49eaaba1c4dbcc258a5774f7885 Mon Sep 17 00:00:00 2001 From: Michael Steil Date: Sat, 18 Oct 2008 07:50:47 +0000 Subject: [PATCH] split up ISCNTC --- apple_iscntc.s | 10 ++++++++++ cbm_iscntc.s | 1 + flow3.s => flow2.s | 0 iscntc.s | 46 ++++++---------------------------------------- kbd_iscntc.s | 10 ++++++++++ kim_iscntc.s | 10 ++++++++++ microtan_iscntc.s | 12 ++++++++++++ msbasic.s | 2 +- osi_iscntc.s | 12 ++++++++++++ 9 files changed, 62 insertions(+), 41 deletions(-) create mode 100644 apple_iscntc.s create mode 100644 cbm_iscntc.s rename flow3.s => flow2.s (100%) create mode 100644 kbd_iscntc.s create mode 100644 kim_iscntc.s create mode 100644 microtan_iscntc.s create mode 100644 osi_iscntc.s diff --git a/apple_iscntc.s b/apple_iscntc.s new file mode 100644 index 0000000..b11401e --- /dev/null +++ b/apple_iscntc.s @@ -0,0 +1,10 @@ +.segment "CODE" +ISCNTC: + lda $C000 + cmp #$83 + beq L0ECC + rts +L0ECC: + jsr RDKEY + cmp #$03 +;!!! runs into "STOP" \ No newline at end of file diff --git a/cbm_iscntc.s b/cbm_iscntc.s new file mode 100644 index 0000000..188f6ef --- /dev/null +++ b/cbm_iscntc.s @@ -0,0 +1 @@ +; nothing - ISCNTC is a KERNAL function \ No newline at end of file diff --git a/flow3.s b/flow2.s similarity index 100% rename from flow3.s rename to flow2.s diff --git a/iscntc.s b/iscntc.s index c57ce23..61182e8 100644 --- a/iscntc.s +++ b/iscntc.s @@ -3,55 +3,21 @@ ; SEE IF CONTROL-C TYPED ; ---------------------------------------------------------------------------- .ifndef CONFIG_CBM_ALL -ISCNTC: +.include "cbm_iscntc.s" .endif .ifdef KBD - jsr LE8F3 - bcc RET1 -LE633: - jsr LDE7F - beq STOP - cmp #$03 - bne LE633 +.include "kbd_iscntc.s" .endif .ifdef OSI - jmp MONISCNTC - nop - nop - nop - nop - lsr a - bcc RET2 - jsr GETLN - cmp #$03 +.include "osi_iscntc.s" .endif .ifdef APPLE - lda $C000 - cmp #$83 - beq L0ECC - rts -L0ECC: - jsr RDKEY - cmp #$03 +.include "apple_iscntc.s" .endif .ifdef KIM - lda #$01 - bit $1740 - bmi RET2 - ldx #$08 - lda #$03 - clc - cmp #$03 +.include "kim_iscntc.s" .endif .ifdef MICROTAN - lda $01 - cmp #$03 - beq LC6EF - lda #$01 - rts -LC6EF: - nop - nop - cmp #$03 +.include "microtan_iscntc.s" .endif ;!!! runs into "STOP" \ No newline at end of file diff --git a/kbd_iscntc.s b/kbd_iscntc.s new file mode 100644 index 0000000..54676ab --- /dev/null +++ b/kbd_iscntc.s @@ -0,0 +1,10 @@ +.segment "CODE" +ISCNTC: + jsr LE8F3 + bcc RET1 +LE633: + jsr LDE7F + beq STOP + cmp #$03 + bne LE633 +;!!! runs into "STOP" \ No newline at end of file diff --git a/kim_iscntc.s b/kim_iscntc.s new file mode 100644 index 0000000..8865796 --- /dev/null +++ b/kim_iscntc.s @@ -0,0 +1,10 @@ +.segment "CODE" +ISCNTC: + lda #$01 + bit $1740 + bmi RET2 + ldx #$08 + lda #$03 + clc + cmp #$03 +;!!! runs into "STOP" \ No newline at end of file diff --git a/microtan_iscntc.s b/microtan_iscntc.s new file mode 100644 index 0000000..2ea06f0 --- /dev/null +++ b/microtan_iscntc.s @@ -0,0 +1,12 @@ +.segment "CODE" +ISCNTC: + lda $01 + cmp #$03 + beq LC6EF + lda #$01 + rts +LC6EF: + nop + nop + cmp #$03 +;!!! runs into "STOP" \ No newline at end of file diff --git a/msbasic.s b/msbasic.s index c0fa319..fb2011d 100644 --- a/msbasic.s +++ b/msbasic.s @@ -17,7 +17,7 @@ .include "program.s" .include "flow1.s" .include "loadsave.s" -.include "flow3.s" +.include "flow2.s" .include "misc1.s" .include "print.s" .include "input.s" diff --git a/osi_iscntc.s b/osi_iscntc.s new file mode 100644 index 0000000..29df3e2 --- /dev/null +++ b/osi_iscntc.s @@ -0,0 +1,12 @@ +.segment "CODE" +ISCNTC: + jmp MONISCNTC + nop + nop + nop + nop + lsr a + bcc RET2 + jsr GETLN + cmp #$03 +;!!! runs into "STOP" \ No newline at end of file