From 8ae7ac73b34fd2b63eb9dcf021bbf2e0f44539cb Mon Sep 17 00:00:00 2001
From: Oliver Schmidt
Date: Sat, 11 Jan 2014 23:35:21 +0100
Subject: [PATCH 01/15] Minor comment harmonization.
---
libsrc/c128/mou/c128-1351.s | 5 +++--
libsrc/c128/mou/c128-joy.s | 5 +++--
libsrc/c128/mou/c128-pot.s | 5 +++--
libsrc/c64/mou/c64-1351.s | 3 +--
libsrc/c64/mou/c64-joy.s | 5 +++--
libsrc/c64/mou/c64-pot.s | 5 +++--
libsrc/cbm510/mou/cbm510-joy.s | 5 +++--
7 files changed, 19 insertions(+), 14 deletions(-)
diff --git a/libsrc/c128/mou/c128-1351.s b/libsrc/c128/mou/c128-1351.s
index f2a71647c..1f8e6d5cd 100644
--- a/libsrc/c128/mou/c128-1351.s
+++ b/libsrc/c128/mou/c128-1351.s
@@ -81,10 +81,11 @@ YMax: .res 2 ; Y2 value of bounding box
OldValue: .res 1 ; Temp for MoveCheck routine
NewValue: .res 1 ; Temp for MoveCheck routine
-; Default values for above variables
-
.rodata
+; Default values for below variables
+; (We use ".proc" because we want to define both a label and a scope.)
+
.proc DefVars
.byte 0, 0 ; OldPotX/OldPotY
.word SCREEN_HEIGHT/2 ; YPos
diff --git a/libsrc/c128/mou/c128-joy.s b/libsrc/c128/mou/c128-joy.s
index 8c3bd779d..53dd5ec4a 100644
--- a/libsrc/c128/mou/c128-joy.s
+++ b/libsrc/c128/mou/c128-joy.s
@@ -87,10 +87,11 @@ Buttons: .res 1 ; Button mask
Temp: .res 1
-; Default values for above variables
-
.rodata
+; Default values for below variables
+; (We use ".proc" because we want to define both a label and a scope.)
+
.proc DefVars
.word SCREEN_HEIGHT/2 ; YPos
.word SCREEN_WIDTH/2 ; XPos
diff --git a/libsrc/c128/mou/c128-pot.s b/libsrc/c128/mou/c128-pot.s
index ab6922896..ccefeb01b 100644
--- a/libsrc/c128/mou/c128-pot.s
+++ b/libsrc/c128/mou/c128-pot.s
@@ -84,10 +84,11 @@ Buttons: .res 1 ; Button mask
Temp: .res 1
-; Default values for above variables
-
.rodata
+; Default values for below variables
+; (We use ".proc" because we want to define both a label and a scope.)
+
.proc DefVars
.word SCREEN_HEIGHT/2 ; YPos
.word SCREEN_WIDTH/2 ; XPos
diff --git a/libsrc/c64/mou/c64-1351.s b/libsrc/c64/mou/c64-1351.s
index ec053b0b2..f561f1a8a 100644
--- a/libsrc/c64/mou/c64-1351.s
+++ b/libsrc/c64/mou/c64-1351.s
@@ -101,10 +101,9 @@ Buttons: .res 1 ; button status bits
OldValue: .res 1 ; Temp for MoveCheck routine
NewValue: .res 1 ; Temp for MoveCheck routine
-; Default values for above variables
-
.rodata
+; Default values for below variables
; (We use ".proc" because we want to define both a label and a scope.)
.proc DefVars
diff --git a/libsrc/c64/mou/c64-joy.s b/libsrc/c64/mou/c64-joy.s
index 05f0ce50e..5f3bec8ed 100644
--- a/libsrc/c64/mou/c64-joy.s
+++ b/libsrc/c64/mou/c64-joy.s
@@ -106,10 +106,11 @@ Buttons: .res 1 ; Button mask
Temp: .res 1
-; Default values for above variables
-
.rodata
+; Default values for below variables
+; (We use ".proc" because we want to define both a label and a scope.)
+
.proc DefVars
.word SCREEN_HEIGHT/2 ; YPos
.word SCREEN_WIDTH/2 ; XPos
diff --git a/libsrc/c64/mou/c64-pot.s b/libsrc/c64/mou/c64-pot.s
index 3eb977477..0ca446078 100644
--- a/libsrc/c64/mou/c64-pot.s
+++ b/libsrc/c64/mou/c64-pot.s
@@ -84,10 +84,11 @@ Buttons: .res 1 ; Button mask
Temp: .res 1
-; Default values for above variables
-
.rodata
+; Default values for below variables
+; (We use ".proc" because we want to define both a label and a scope.)
+
.proc DefVars
.word SCREEN_HEIGHT/2 ; YPos
.word SCREEN_WIDTH/2 ; XPos
diff --git a/libsrc/cbm510/mou/cbm510-joy.s b/libsrc/cbm510/mou/cbm510-joy.s
index 9381cf761..effdb7cc0 100644
--- a/libsrc/cbm510/mou/cbm510-joy.s
+++ b/libsrc/cbm510/mou/cbm510-joy.s
@@ -89,10 +89,11 @@ YMax: .res 2 ; Y2 value of bounding box
Temp: .res 1
-; Default values for above variables
-
.rodata
+; Default values for below variables
+; (We use ".proc" because we want to define both a label and a scope.)
+
.proc DefVars
.word SCREEN_HEIGHT / 2 ; YPos
.word SCREEN_WIDTH / 2 ; XPos
From b1c8f8e714a747b1884c22423b2dc54a80acbc5d Mon Sep 17 00:00:00 2001
From: Oliver Schmidt
Date: Sun, 12 Jan 2014 21:52:18 +0100
Subject: [PATCH 02/15] Fixed recent "Minor comment harmonization".
---
libsrc/c128/mou/c128-1351.s | 2 +-
libsrc/c128/mou/c128-joy.s | 2 +-
libsrc/c128/mou/c128-pot.s | 2 +-
libsrc/c64/mou/c64-1351.s | 2 +-
libsrc/c64/mou/c64-joy.s | 2 +-
libsrc/c64/mou/c64-pot.s | 2 +-
libsrc/cbm510/mou/cbm510-joy.s | 2 +-
7 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/libsrc/c128/mou/c128-1351.s b/libsrc/c128/mou/c128-1351.s
index 1f8e6d5cd..ca165f5c3 100644
--- a/libsrc/c128/mou/c128-1351.s
+++ b/libsrc/c128/mou/c128-1351.s
@@ -83,7 +83,7 @@ NewValue: .res 1 ; Temp for MoveCheck routine
.rodata
-; Default values for below variables
+; Default values for above variables
; (We use ".proc" because we want to define both a label and a scope.)
.proc DefVars
diff --git a/libsrc/c128/mou/c128-joy.s b/libsrc/c128/mou/c128-joy.s
index 53dd5ec4a..8845dd357 100644
--- a/libsrc/c128/mou/c128-joy.s
+++ b/libsrc/c128/mou/c128-joy.s
@@ -89,7 +89,7 @@ Temp: .res 1
.rodata
-; Default values for below variables
+; Default values for above variables
; (We use ".proc" because we want to define both a label and a scope.)
.proc DefVars
diff --git a/libsrc/c128/mou/c128-pot.s b/libsrc/c128/mou/c128-pot.s
index ccefeb01b..595e33ac9 100644
--- a/libsrc/c128/mou/c128-pot.s
+++ b/libsrc/c128/mou/c128-pot.s
@@ -86,7 +86,7 @@ Temp: .res 1
.rodata
-; Default values for below variables
+; Default values for above variables
; (We use ".proc" because we want to define both a label and a scope.)
.proc DefVars
diff --git a/libsrc/c64/mou/c64-1351.s b/libsrc/c64/mou/c64-1351.s
index f561f1a8a..0211ee20f 100644
--- a/libsrc/c64/mou/c64-1351.s
+++ b/libsrc/c64/mou/c64-1351.s
@@ -103,7 +103,7 @@ NewValue: .res 1 ; Temp for MoveCheck routine
.rodata
-; Default values for below variables
+; Default values for above variables
; (We use ".proc" because we want to define both a label and a scope.)
.proc DefVars
diff --git a/libsrc/c64/mou/c64-joy.s b/libsrc/c64/mou/c64-joy.s
index 5f3bec8ed..08dad7b3c 100644
--- a/libsrc/c64/mou/c64-joy.s
+++ b/libsrc/c64/mou/c64-joy.s
@@ -108,7 +108,7 @@ Temp: .res 1
.rodata
-; Default values for below variables
+; Default values for above variables
; (We use ".proc" because we want to define both a label and a scope.)
.proc DefVars
diff --git a/libsrc/c64/mou/c64-pot.s b/libsrc/c64/mou/c64-pot.s
index 0ca446078..3be0f4f3d 100644
--- a/libsrc/c64/mou/c64-pot.s
+++ b/libsrc/c64/mou/c64-pot.s
@@ -86,7 +86,7 @@ Temp: .res 1
.rodata
-; Default values for below variables
+; Default values for above variables
; (We use ".proc" because we want to define both a label and a scope.)
.proc DefVars
diff --git a/libsrc/cbm510/mou/cbm510-joy.s b/libsrc/cbm510/mou/cbm510-joy.s
index effdb7cc0..43bd722f3 100644
--- a/libsrc/cbm510/mou/cbm510-joy.s
+++ b/libsrc/cbm510/mou/cbm510-joy.s
@@ -91,7 +91,7 @@ Temp: .res 1
.rodata
-; Default values for below variables
+; Default values for above variables
; (We use ".proc" because we want to define both a label and a scope.)
.proc DefVars
From b237bb9d9a83bb93fb86ebbb155e0611b425c03c Mon Sep 17 00:00:00 2001
From: Christian Groessler
Date: Mon, 6 Jan 2014 20:24:29 +0100
Subject: [PATCH 03/15] Add support to create cartridges.
---
cfg/atari-cart.cfg | 43 ++++++++++++++++++++++++++
libsrc/atari/carthdr.s | 20 ++++++++++++
libsrc/atari/cartinit.s | 13 ++++++++
libsrc/atari/cartstart.s | 67 ++++++++++++++++++++++++++++++++++++++++
4 files changed, 143 insertions(+)
create mode 100644 cfg/atari-cart.cfg
create mode 100644 libsrc/atari/carthdr.s
create mode 100644 libsrc/atari/cartinit.s
create mode 100644 libsrc/atari/cartstart.s
diff --git a/cfg/atari-cart.cfg b/cfg/atari-cart.cfg
new file mode 100644
index 000000000..cf6472656
--- /dev/null
+++ b/cfg/atari-cart.cfg
@@ -0,0 +1,43 @@
+FEATURES {
+ STARTADDRESS: default = $2000;
+}
+SYMBOLS {
+ __CART_HEADER__: type = import;
+ __STACKSIZE__: type = weak, value = $0800; # 2k stack
+ __STARTADDRESS__: type = export, value = %S;
+ __RESERVED_MEMORY__: type = export, value = $0000;
+ __CARTFLAGS__: type = weak, value = $01; # see documentation for other possible values
+}
+MEMORY {
+ ZP: file = "", define = yes, start = $0082, size = $007E;
+ RAM: file = "", define = yes, start = %S, size = $2000;
+ ROM: file = %O, define = yes, start = $A000, size = $1FFA, fill = yes, fillval = $ff;
+ CARTID: file = %O, start = $BFFA, size = $0006;
+}
+SEGMENTS {
+ STARTUP: load = ROM, type = ro, define = yes;
+ LOWCODE: load = ROM, type = ro, define = yes, optional = yes;
+ INIT: load = ROM, type = ro, optional = yes;
+ CODE: load = ROM, type = ro, define = yes;
+ RODATA: load = ROM, type = ro;
+ DATA: load = ROM, run = RAM, type = rw, define = yes;
+ BSS: load = RAM, type = bss, define = yes;
+ CARTHDR: load = CARTID, type = ro;
+ ZEROPAGE: load = ZP, type = zp;
+ EXTZP: load = ZP, type = zp, optional = yes;
+}
+FEATURES {
+ CONDES: type = constructor,
+ label = __CONSTRUCTOR_TABLE__,
+ count = __CONSTRUCTOR_COUNT__,
+ segment = INIT;
+ CONDES: type = destructor,
+ label = __DESTRUCTOR_TABLE__,
+ count = __DESTRUCTOR_COUNT__,
+ segment = RODATA;
+ CONDES: type = interruptor,
+ label = __INTERRUPTOR_TABLE__,
+ count = __INTERRUPTOR_COUNT__,
+ segment = RODATA,
+ import = __CALLIRQ__;
+}
diff --git a/libsrc/atari/carthdr.s b/libsrc/atari/carthdr.s
new file mode 100644
index 000000000..7ec2fc9a6
--- /dev/null
+++ b/libsrc/atari/carthdr.s
@@ -0,0 +1,20 @@
+; Cartridge "header"
+; (In fact, it's at the end of the cartridge, so more a "trailer".)
+;
+; Christian Groessler, 06-Jan-2014
+
+.ifndef __ATARIXL__
+
+.import __CARTFLAGS__, cartinit, cartstart
+.export __CART_HEADER__: absolute = 1
+
+.include "atari.inc"
+
+ .segment "CARTHDR"
+
+ .word cartstart ; start routine
+ .byte 0 ; must be zero
+ .byte <__CARTFLAGS__
+ .word cartinit ; init routine
+
+.endif ; .ifndef __ATARIXL__
diff --git a/libsrc/atari/cartinit.s b/libsrc/atari/cartinit.s
new file mode 100644
index 000000000..5930c62ec
--- /dev/null
+++ b/libsrc/atari/cartinit.s
@@ -0,0 +1,13 @@
+; Cartridge init routine
+;
+; Christian Groessler, 06-Jan-2014
+
+.ifndef __ATARIXL__
+
+.export cartinit
+
+.segment "STARTUP"
+
+cartinit: rts
+
+.endif ; .ifndef __ATARIXL__
diff --git a/libsrc/atari/cartstart.s b/libsrc/atari/cartstart.s
new file mode 100644
index 000000000..60771d54f
--- /dev/null
+++ b/libsrc/atari/cartstart.s
@@ -0,0 +1,67 @@
+; Cartridge start routine
+;
+; Christian Groessler, 06-Jan-2014
+
+.ifndef __ATARIXL__
+
+.export cartstart
+
+.import start
+.import __DATA_LOAD__, __DATA_SIZE__, __DATA_RUN__
+.importzp ptr1, ptr2, tmp1, tmp2
+
+.include "atari.inc"
+
+.segment "STARTUP"
+
+; start routine of cartridge
+; copy data segment to RAM and chain to entry point of crt0.s
+
+cartstart: lda #<__DATA_LOAD__
+ sta ptr1
+ lda #>__DATA_LOAD__
+ sta ptr1+1
+ lda #<__DATA_RUN__
+ sta ptr2
+ lda #>__DATA_RUN__
+ sta ptr2+1
+ lda #>__DATA_SIZE__
+ sta tmp2
+ lda #<__DATA_SIZE__
+ sta tmp1
+ jsr memcopy
+ jsr start ; run program
+ jmp (DOSVEC) ; return to DOS
+
+
+; routine taken from http://www.obelisk.demon.co.uk/6502/algorithms.html
+;
+; copy memory
+; ptr1 - source
+; ptr2 - destination
+; tmp2:tmp1 - len
+
+.proc memcopy
+
+ ldy #0
+ ldx tmp2
+ beq last
+pagecp: lda (ptr1),y
+ sta (ptr2),y
+ iny
+ bne pagecp
+ inc ptr1+1
+ inc ptr2+1
+ dex
+ bne pagecp
+last: cpy tmp1
+ beq done
+ lda (ptr1),y
+ sta (ptr2),y
+ iny
+ bne last
+done: rts
+
+.endproc
+
+.endif ; .ifndef __ATARIXL__
From 692ec4a05bdaaa94154083ca47dd7fc317472c72 Mon Sep 17 00:00:00 2001
From: Christian Groessler
Date: Tue, 14 Jan 2014 23:12:35 +0100
Subject: [PATCH 04/15] remove TABs
---
libsrc/atari/carthdr.s | 18 ++++-----
libsrc/atari/cartinit.s | 8 ++--
libsrc/atari/cartstart.s | 86 ++++++++++++++++++++--------------------
3 files changed, 56 insertions(+), 56 deletions(-)
diff --git a/libsrc/atari/carthdr.s b/libsrc/atari/carthdr.s
index 7ec2fc9a6..52dc42053 100644
--- a/libsrc/atari/carthdr.s
+++ b/libsrc/atari/carthdr.s
@@ -5,16 +5,16 @@
.ifndef __ATARIXL__
-.import __CARTFLAGS__, cartinit, cartstart
-.export __CART_HEADER__: absolute = 1
+.import __CARTFLAGS__, cartinit, cartstart
+.export __CART_HEADER__: absolute = 1
-.include "atari.inc"
+.include "atari.inc"
- .segment "CARTHDR"
+ .segment "CARTHDR"
- .word cartstart ; start routine
- .byte 0 ; must be zero
- .byte <__CARTFLAGS__
- .word cartinit ; init routine
+ .word cartstart ; start routine
+ .byte 0 ; must be zero
+ .byte <__CARTFLAGS__
+ .word cartinit ; init routine
-.endif ; .ifndef __ATARIXL__
+.endif ; .ifndef __ATARIXL__
diff --git a/libsrc/atari/cartinit.s b/libsrc/atari/cartinit.s
index 5930c62ec..a0f235625 100644
--- a/libsrc/atari/cartinit.s
+++ b/libsrc/atari/cartinit.s
@@ -4,10 +4,10 @@
.ifndef __ATARIXL__
-.export cartinit
+.export cartinit
-.segment "STARTUP"
+.segment "STARTUP"
-cartinit: rts
+cartinit: rts
-.endif ; .ifndef __ATARIXL__
+.endif ; .ifndef __ATARIXL__
diff --git a/libsrc/atari/cartstart.s b/libsrc/atari/cartstart.s
index 60771d54f..30723ef60 100644
--- a/libsrc/atari/cartstart.s
+++ b/libsrc/atari/cartstart.s
@@ -4,64 +4,64 @@
.ifndef __ATARIXL__
-.export cartstart
+.export cartstart
-.import start
-.import __DATA_LOAD__, __DATA_SIZE__, __DATA_RUN__
-.importzp ptr1, ptr2, tmp1, tmp2
+.import start
+.import __DATA_LOAD__, __DATA_SIZE__, __DATA_RUN__
+.importzp ptr1, ptr2, tmp1, tmp2
-.include "atari.inc"
+.include "atari.inc"
-.segment "STARTUP"
+.segment "STARTUP"
; start routine of cartridge
; copy data segment to RAM and chain to entry point of crt0.s
-cartstart: lda #<__DATA_LOAD__
- sta ptr1
- lda #>__DATA_LOAD__
- sta ptr1+1
- lda #<__DATA_RUN__
- sta ptr2
- lda #>__DATA_RUN__
- sta ptr2+1
- lda #>__DATA_SIZE__
- sta tmp2
- lda #<__DATA_SIZE__
- sta tmp1
- jsr memcopy
- jsr start ; run program
- jmp (DOSVEC) ; return to DOS
+cartstart: lda #<__DATA_LOAD__
+ sta ptr1
+ lda #>__DATA_LOAD__
+ sta ptr1+1
+ lda #<__DATA_RUN__
+ sta ptr2
+ lda #>__DATA_RUN__
+ sta ptr2+1
+ lda #>__DATA_SIZE__
+ sta tmp2
+ lda #<__DATA_SIZE__
+ sta tmp1
+ jsr memcopy
+ jsr start ; run program
+ jmp (DOSVEC) ; return to DOS
; routine taken from http://www.obelisk.demon.co.uk/6502/algorithms.html
;
; copy memory
-; ptr1 - source
-; ptr2 - destination
+; ptr1 - source
+; ptr2 - destination
; tmp2:tmp1 - len
-.proc memcopy
+.proc memcopy
- ldy #0
- ldx tmp2
- beq last
-pagecp: lda (ptr1),y
- sta (ptr2),y
- iny
- bne pagecp
- inc ptr1+1
- inc ptr2+1
- dex
- bne pagecp
-last: cpy tmp1
- beq done
- lda (ptr1),y
- sta (ptr2),y
- iny
- bne last
-done: rts
+ ldy #0
+ ldx tmp2
+ beq last
+pagecp: lda (ptr1),y
+ sta (ptr2),y
+ iny
+ bne pagecp
+ inc ptr1+1
+ inc ptr2+1
+ dex
+ bne pagecp
+last: cpy tmp1
+ beq done
+ lda (ptr1),y
+ sta (ptr2),y
+ iny
+ bne last
+done: rts
.endproc
-.endif ; .ifndef __ATARIXL__
+.endif ; .ifndef __ATARIXL__
From 4065cb198395d25845bfe07f1303c9e2a2f2fdc5 Mon Sep 17 00:00:00 2001
From: Oliver Schmidt
Date: Wed, 15 Jan 2014 22:47:59 +0100
Subject: [PATCH 05/15] Harmonized interface between mouse drivers and
callbacks.
The Apple2 doesn't have sprites so the Apple2 mouse callbacks place a special character on the text screen to indicate the mouse position. In order to support the necessary character removing and redrawing the Apple2 mouse driver called the Apple2 mouse callbacks in an "unusual way". So far so (sort of) good.
However the upcoming Atari mouse driver aims to support both "sprite-type" mouse callbacks as well as "text-char-type" mouse callbacks. Therefore the interface between mouse drivers and callbacks needs to be extended to allow the mouse callbacks to hide their different types from the mouse driver.
The nature of this change can be seen best by looking at the Apple2 file modifications. The CBM drivers and callbacks (at least the current ones) don't benefit from this change.
---
asminc/mouse-kernel.inc | 16 ++++++++++------
libsrc/apple2/mcbdefault.s | 17 ++++++++++++++++-
libsrc/apple2/mou/a2.stdmou.s | 18 ++++++++----------
libsrc/c128/mcbdefault.s | 24 +++++++++++++++++++++---
libsrc/c128/mou/c128-1351.s | 10 +++++++---
libsrc/c128/mou/c128-inkwell.s | 7 +++++--
libsrc/c128/mou/c128-joy.s | 9 ++++++---
libsrc/c128/mou/c128-pot.s | 10 ++++++++--
libsrc/c64/mcbdefault.s | 22 ++++++++++++++++++++--
libsrc/c64/mou/c64-1351.s | 7 +++++--
libsrc/c64/mou/c64-inkwell.s | 7 +++++--
libsrc/c64/mou/c64-joy.s | 9 +++++++--
libsrc/c64/mou/c64-pot.s | 10 ++++++++--
libsrc/cbm510/mcbdefault.s | 22 ++++++++++++++++++++--
libsrc/cbm510/mou/cbm510-inkwl.s | 8 ++++++--
libsrc/cbm510/mou/cbm510-joy.s | 8 ++++++--
16 files changed, 158 insertions(+), 46 deletions(-)
diff --git a/asminc/mouse-kernel.inc b/asminc/mouse-kernel.inc
index d3ec9b30f..4ad9a733e 100644
--- a/asminc/mouse-kernel.inc
+++ b/asminc/mouse-kernel.inc
@@ -78,6 +78,10 @@
.byte
CSHOW .addr
.byte
+ CDRAW .addr
+ .byte
+ CMOVE .addr
+ .byte
CMOVEX .addr
.byte
CMOVEY .addr
@@ -90,14 +94,16 @@
.struct MOUSE_CALLBACKS
HIDE .addr ; Hide the mouse cursor
SHOW .addr ; Show the mouse cursor
- MOVEX .addr ; Move the mouse cursor
- MOVEY .addr ; Dito for Y
+ DRAW .addr ; Draw the mouse cursor
+ MOVE .addr ; Prepare to move the mouse cursor
+ MOVEX .addr ; Move the mouse cursor to X coord
+ MOVEY .addr ; Move the mouse cursor to Y coord
.endstruct
;------------------------------------------------------------------------------
; The mouse API version, stored in MOUSE_HDR::VERSION
-MOUSE_API_VERSION = $04
+MOUSE_API_VERSION = $05
;------------------------------------------------------------------------------
; Bitmapped mouse driver flags, stored in MOUSE_HDR::FLAGS.
@@ -169,12 +175,10 @@ MOUSE_BTN_RIGHT = $01
.global mouse_uninstall
.global mouse_hide
.global mouse_show
- .global mouse_setbox
+ .global mouse_setbox
.global mouse_getbox
.global mouse_move
.global mouse_buttons
.global mouse_pos
.global mouse_info
.global mouse_ioctl
-
-
diff --git a/libsrc/apple2/mcbdefault.s b/libsrc/apple2/mcbdefault.s
index 2ade00aef..892e387e0 100644
--- a/libsrc/apple2/mcbdefault.s
+++ b/libsrc/apple2/mcbdefault.s
@@ -16,6 +16,7 @@
.bss
backup: .res 1
+visible:.res 1
; ------------------------------------------------------------------------
@@ -25,6 +26,8 @@ backup: .res 1
_mouse_def_callbacks:
.addr hide
.addr show
+ .addr draw
+ .addr move
.addr movex
.addr movey
@@ -65,10 +68,15 @@ done:
.ifdef __APPLE2ENH__
bit LOWSCR ; Doesn't hurt in 40 column mode
.endif
- rts
+return: rts
; Hide the mouse cursor.
hide:
+ dec visible
+ ; Fall through
+
+; Prepare to move the mouse cursor.
+move:
jsr getcursor ; Cursor visible at current position?
bne done ; No, we're done
lda backup ; Get character at cursor position
@@ -76,6 +84,13 @@ hide:
; Show the mouse cursor.
show:
+ inc visible
+ ; Fall through
+
+; Draw the mouse cursor.
+draw:
+ lda visible
+ beq return
jsr getcursor ; Cursor visible at current position?
beq done ; Yes, we're done
sta backup ; Save character at cursor position
diff --git a/libsrc/apple2/mou/a2.stdmou.s b/libsrc/apple2/mou/a2.stdmou.s
index 8414cde36..ecfb7da58 100644
--- a/libsrc/apple2/mou/a2.stdmou.s
+++ b/libsrc/apple2/mou/a2.stdmou.s
@@ -57,6 +57,8 @@ status := $0778
; Callback table, set by the kernel before INSTALL is called
CHIDE: jmp $0000 ; Hide the cursor
CSHOW: jmp $0000 ; Show the cursor
+CDRAW: jmp $0000 ; Draw the cursor
+CMOVE: jmp $0000 ; Prepare to move the cursor
CMOVEX: jmp $0000 ; Move the cursor to X coord
CMOVEY: jmp $0000 ; Move the cursor to Y coord
@@ -67,7 +69,6 @@ CMOVEY: jmp $0000 ; Move the cursor to Y coord
box: .tag MOUSE_BOX
info: .tag MOUSE_INFO
slot: .res 1
-visible:.res 1
; ------------------------------------------------------------------------
@@ -321,7 +322,6 @@ MOVE:
; no special action is required besides hiding the mouse cursor.
; No return code required.
HIDE:
- dec visible
sei
jsr CHIDE
cli
@@ -333,7 +333,9 @@ HIDE:
; no special action is required besides enabling the mouse cursor.
; No return code required.
SHOW:
- inc visible
+ sei
+ jsr CSHOW
+ cli
rts
; BUTTONS: Return the button mask in A/X.
@@ -409,7 +411,7 @@ done: rts
beq :+
; Remove the cursor at the old position
-update: jsr CHIDE
+update: jsr CMOVE
; Get and set the new X position
ldy slot
@@ -427,11 +429,7 @@ update: jsr CHIDE
stx info + MOUSE_POS::YCOORD+1
jsr CMOVEY
- ; Check for visibility
-: lda visible
- beq :+
-
; Draw the cursor at the new position
- jsr CSHOW
-: sec ; Interrupt handled
+: jsr CDRAW
+ sec ; Interrupt handled
rts
diff --git a/libsrc/c128/mcbdefault.s b/libsrc/c128/mcbdefault.s
index cdedf4904..fcf742d14 100644
--- a/libsrc/c128/mcbdefault.s
+++ b/libsrc/c128/mcbdefault.s
@@ -1,5 +1,5 @@
;
-; Default mouse callbacks for the C64
+; Default mouse callbacks for the C128
;
; Ullrich von Bassewitz, 2004-03-20
;
@@ -48,6 +48,24 @@ VIC_SPR_Y = (VIC_SPR0_Y + 2*MOUSE_SPR) ; Sprite Y register
.endproc
+; --------------------------------------------------------------------------
+; Draw the mouse pointer. Always called with interrupts disabled.
+
+.proc draw
+
+ rts
+
+.endproc
+
+; --------------------------------------------------------------------------
+; Prepare to move the mouse pointer. Always called with interrupts disabled.
+
+.proc move
+
+ rts
+
+.endproc
+
; --------------------------------------------------------------------------
; Move the mouse pointer X position to the value in a/x. Always called with
; interrupts disabled.
@@ -103,7 +121,7 @@ VIC_SPR_Y = (VIC_SPR0_Y + 2*MOUSE_SPR) ; Sprite Y register
_mouse_def_callbacks:
.addr hide
.addr show
+ .addr draw
+ .addr move
.addr movex
.addr movey
-
-
diff --git a/libsrc/c128/mou/c128-1351.s b/libsrc/c128/mou/c128-1351.s
index ca165f5c3..881605d2d 100644
--- a/libsrc/c128/mou/c128-1351.s
+++ b/libsrc/c128/mou/c128-1351.s
@@ -50,6 +50,8 @@ HEADER:
CHIDE: jmp $0000 ; Hide the cursor
CSHOW: jmp $0000 ; Show the cursor
+CDRAW: jmp $0000 ; Draw the cursor
+CMOVE: jmp $0000 ; Prepare to move the cursor
CMOVEX: jmp $0000 ; Move the cursor to X coord
CMOVEY: jmp $0000 ; Move the cursor to Y coord
@@ -302,7 +304,8 @@ IOCTL: lda #
Date: Thu, 16 Jan 2014 23:45:21 +0100
Subject: [PATCH 06/15] made more segments optional so that the config file can
be used for assembler programs, too
---
cfg/atari-cart.cfg | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/cfg/atari-cart.cfg b/cfg/atari-cart.cfg
index cf6472656..04934309b 100644
--- a/cfg/atari-cart.cfg
+++ b/cfg/atari-cart.cfg
@@ -11,17 +11,17 @@ SYMBOLS {
MEMORY {
ZP: file = "", define = yes, start = $0082, size = $007E;
RAM: file = "", define = yes, start = %S, size = $2000;
- ROM: file = %O, define = yes, start = $A000, size = $1FFA, fill = yes, fillval = $ff;
+ ROM: file = %O, define = yes, start = $A000, size = $1FFA, fill = yes, fillval = $FF;
CARTID: file = %O, start = $BFFA, size = $0006;
}
SEGMENTS {
- STARTUP: load = ROM, type = ro, define = yes;
+ STARTUP: load = ROM, type = ro, define = yes, optional = yes;
LOWCODE: load = ROM, type = ro, define = yes, optional = yes;
INIT: load = ROM, type = ro, optional = yes;
CODE: load = ROM, type = ro, define = yes;
- RODATA: load = ROM, type = ro;
- DATA: load = ROM, run = RAM, type = rw, define = yes;
- BSS: load = RAM, type = bss, define = yes;
+ RODATA: load = ROM, type = ro; optional = yes;
+ DATA: load = ROM, run = RAM, type = rw, define = yes; optional = yes;
+ BSS: load = RAM, type = bss, define = yes; optional = yes;
CARTHDR: load = CARTID, type = ro;
ZEROPAGE: load = ZP, type = zp;
EXTZP: load = ZP, type = zp, optional = yes;
From dcbefb10186d2363e38dc02c5813c7be8bf6aa0c Mon Sep 17 00:00:00 2001
From: Christian Groessler
Date: Thu, 16 Jan 2014 23:45:48 +0100
Subject: [PATCH 07/15] fix indentation
---
libsrc/atari/carthdr.s | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libsrc/atari/carthdr.s b/libsrc/atari/carthdr.s
index 52dc42053..3e4ea219c 100644
--- a/libsrc/atari/carthdr.s
+++ b/libsrc/atari/carthdr.s
@@ -10,7 +10,7 @@
.include "atari.inc"
- .segment "CARTHDR"
+.segment "CARTHDR"
.word cartstart ; start routine
.byte 0 ; must be zero
From 5a404b678621e4e7c9869f0b7e5e97e7ea8e4efc Mon Sep 17 00:00:00 2001
From: Christian Groessler
Date: Thu, 16 Jan 2014 23:49:04 +0100
Subject: [PATCH 08/15] fix last change
---
cfg/atari-cart.cfg | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/cfg/atari-cart.cfg b/cfg/atari-cart.cfg
index 04934309b..ab84f98fc 100644
--- a/cfg/atari-cart.cfg
+++ b/cfg/atari-cart.cfg
@@ -19,9 +19,9 @@ SEGMENTS {
LOWCODE: load = ROM, type = ro, define = yes, optional = yes;
INIT: load = ROM, type = ro, optional = yes;
CODE: load = ROM, type = ro, define = yes;
- RODATA: load = ROM, type = ro; optional = yes;
- DATA: load = ROM, run = RAM, type = rw, define = yes; optional = yes;
- BSS: load = RAM, type = bss, define = yes; optional = yes;
+ RODATA: load = ROM, type = ro, optional = yes;
+ DATA: load = ROM, run = RAM, type = rw, define = yes, optional = yes;
+ BSS: load = RAM, type = bss, define = yes, optional = yes;
CARTHDR: load = CARTID, type = ro;
ZEROPAGE: load = ZP, type = zp;
EXTZP: load = ZP, type = zp, optional = yes;
From fd4d7d93ea28ddecee29f6b114a73383be200a55 Mon Sep 17 00:00:00 2001
From: Christian Groessler
Date: Thu, 16 Jan 2014 23:49:51 +0100
Subject: [PATCH 09/15] put this module's code into CODE segment
---
libsrc/atari/cartstart.s | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libsrc/atari/cartstart.s b/libsrc/atari/cartstart.s
index 30723ef60..47c1d89b7 100644
--- a/libsrc/atari/cartstart.s
+++ b/libsrc/atari/cartstart.s
@@ -12,7 +12,7 @@
.include "atari.inc"
-.segment "STARTUP"
+.segment "CODE"
; start routine of cartridge
; copy data segment to RAM and chain to entry point of crt0.s
From b292597f1e80c677e473ec6ba9b71bcbeee2ae77 Mon Sep 17 00:00:00 2001
From: Christian Groessler
Date: Thu, 16 Jan 2014 23:53:53 +0100
Subject: [PATCH 10/15] use copydata instead of own routine
---
libsrc/atari/cartstart.s | 48 ++--------------------------------------
1 file changed, 2 insertions(+), 46 deletions(-)
diff --git a/libsrc/atari/cartstart.s b/libsrc/atari/cartstart.s
index 47c1d89b7..ce403b5fb 100644
--- a/libsrc/atari/cartstart.s
+++ b/libsrc/atari/cartstart.s
@@ -6,8 +6,7 @@
.export cartstart
-.import start
-.import __DATA_LOAD__, __DATA_SIZE__, __DATA_RUN__
+.import start, copydata
.importzp ptr1, ptr2, tmp1, tmp2
.include "atari.inc"
@@ -17,51 +16,8 @@
; start routine of cartridge
; copy data segment to RAM and chain to entry point of crt0.s
-cartstart: lda #<__DATA_LOAD__
- sta ptr1
- lda #>__DATA_LOAD__
- sta ptr1+1
- lda #<__DATA_RUN__
- sta ptr2
- lda #>__DATA_RUN__
- sta ptr2+1
- lda #>__DATA_SIZE__
- sta tmp2
- lda #<__DATA_SIZE__
- sta tmp1
- jsr memcopy
+cartstart: jsr copydata
jsr start ; run program
jmp (DOSVEC) ; return to DOS
-
-; routine taken from http://www.obelisk.demon.co.uk/6502/algorithms.html
-;
-; copy memory
-; ptr1 - source
-; ptr2 - destination
-; tmp2:tmp1 - len
-
-.proc memcopy
-
- ldy #0
- ldx tmp2
- beq last
-pagecp: lda (ptr1),y
- sta (ptr2),y
- iny
- bne pagecp
- inc ptr1+1
- inc ptr2+1
- dex
- bne pagecp
-last: cpy tmp1
- beq done
- lda (ptr1),y
- sta (ptr2),y
- iny
- bne last
-done: rts
-
-.endproc
-
.endif ; .ifndef __ATARIXL__
From e6ed33505625db58fb4debe812d0ca490e66c0e2 Mon Sep 17 00:00:00 2001
From: Christian Groessler
Date: Fri, 17 Jan 2014 11:46:55 +0100
Subject: [PATCH 11/15] put code in CODE segment
---
libsrc/atari/cartinit.s | 2 --
1 file changed, 2 deletions(-)
diff --git a/libsrc/atari/cartinit.s b/libsrc/atari/cartinit.s
index a0f235625..d3035d60c 100644
--- a/libsrc/atari/cartinit.s
+++ b/libsrc/atari/cartinit.s
@@ -6,8 +6,6 @@
.export cartinit
-.segment "STARTUP"
-
cartinit: rts
.endif ; .ifndef __ATARIXL__
From 2e44abf928e2fb7d6812f0330a39706f98c87f2d Mon Sep 17 00:00:00 2001
From: Christian Groessler
Date: Fri, 17 Jan 2014 11:47:23 +0100
Subject: [PATCH 12/15] remove segment directive since CODE is the default
segment
---
libsrc/atari/cartstart.s | 2 --
1 file changed, 2 deletions(-)
diff --git a/libsrc/atari/cartstart.s b/libsrc/atari/cartstart.s
index ce403b5fb..eeac8933b 100644
--- a/libsrc/atari/cartstart.s
+++ b/libsrc/atari/cartstart.s
@@ -11,8 +11,6 @@
.include "atari.inc"
-.segment "CODE"
-
; start routine of cartridge
; copy data segment to RAM and chain to entry point of crt0.s
From 40e49074a495aa77a7a6388361ead9b3ae6fc980 Mon Sep 17 00:00:00 2001
From: Christian Groessler
Date: Fri, 17 Jan 2014 20:08:41 +0100
Subject: [PATCH 13/15] add support for 16K cartridges
---
cfg/atari-cart.cfg | 9 +++++----
libsrc/atari/carthdr.s | 4 +++-
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/cfg/atari-cart.cfg b/cfg/atari-cart.cfg
index ab84f98fc..10674dc49 100644
--- a/cfg/atari-cart.cfg
+++ b/cfg/atari-cart.cfg
@@ -2,6 +2,7 @@ FEATURES {
STARTADDRESS: default = $2000;
}
SYMBOLS {
+ __CARTSIZE__: type = weak, value = $2000; # possible values: $2000 and $4000
__CART_HEADER__: type = import;
__STACKSIZE__: type = weak, value = $0800; # 2k stack
__STARTADDRESS__: type = export, value = %S;
@@ -9,10 +10,10 @@ SYMBOLS {
__CARTFLAGS__: type = weak, value = $01; # see documentation for other possible values
}
MEMORY {
- ZP: file = "", define = yes, start = $0082, size = $007E;
- RAM: file = "", define = yes, start = %S, size = $2000;
- ROM: file = %O, define = yes, start = $A000, size = $1FFA, fill = yes, fillval = $FF;
- CARTID: file = %O, start = $BFFA, size = $0006;
+ ZP: file = "", define = yes, start = $0082, size = $007E;
+ RAM: file = "", define = yes, start = %S, size = __CARTSIZE__;
+ ROM: file = %O, define = yes, start = $C000 - __CARTSIZE__, size = __CARTSIZE__ - 6, fill = yes, fillval = $FF;
+ CARTID: file = %O, start = $BFFA, size = $0006;
}
SEGMENTS {
STARTUP: load = ROM, type = ro, define = yes, optional = yes;
diff --git a/libsrc/atari/carthdr.s b/libsrc/atari/carthdr.s
index 3e4ea219c..bda11c06b 100644
--- a/libsrc/atari/carthdr.s
+++ b/libsrc/atari/carthdr.s
@@ -5,7 +5,7 @@
.ifndef __ATARIXL__
-.import __CARTFLAGS__, cartinit, cartstart
+.import __CARTSIZE__, __CARTFLAGS__, cartinit, cartstart
.export __CART_HEADER__: absolute = 1
.include "atari.inc"
@@ -17,4 +17,6 @@
.byte <__CARTFLAGS__
.word cartinit ; init routine
+.assert (__CARTSIZE__ = $2000 || __CARTSIZE__ = $4000), error, "Cartridge size must either be $2000 or $4000"
+
.endif ; .ifndef __ATARIXL__
From 94eb2a2ed7574bc8d8e12e677ac104a2c902f96c Mon Sep 17 00:00:00 2001
From: Oliver Schmidt
Date: Fri, 17 Jan 2014 21:09:15 +0100
Subject: [PATCH 14/15] Some fine tuning of the mouse driver interface
harmonization.
---
asminc/mouse-kernel.inc | 6 ++--
include/mouse.h | 12 ++++++-
libsrc/apple2/mcbdefault.s | 4 +--
libsrc/apple2/mou/a2.stdmou.s | 4 +--
libsrc/c128/mcbdefault.s | 47 ++++++++-----------------
libsrc/c128/mou/c128-1351.s | 4 +--
libsrc/c128/mou/c128-inkwell.s | 4 +--
libsrc/c128/mou/c128-joy.s | 4 +--
libsrc/c128/mou/c128-pot.s | 4 +--
libsrc/c64/mcbdefault.s | 43 +++++++---------------
libsrc/c64/mou/c64-1351.s | 4 +--
libsrc/c64/mou/c64-inkwell.s | 4 +--
libsrc/c64/mou/c64-joy.s | 4 +--
libsrc/c64/mou/c64-pot.s | 4 +--
libsrc/cbm510/mcbdefault.s | 44 +++++++----------------
libsrc/cbm510/mou/cbm510-inkwl.s | 4 +--
libsrc/cbm510/mou/cbm510-joy.s | 4 +--
libsrc/geos-common/drivers/mcbdefault.s | 28 +++++++++------
18 files changed, 94 insertions(+), 134 deletions(-)
diff --git a/asminc/mouse-kernel.inc b/asminc/mouse-kernel.inc
index 4ad9a733e..3eebca244 100644
--- a/asminc/mouse-kernel.inc
+++ b/asminc/mouse-kernel.inc
@@ -78,9 +78,9 @@
.byte
CSHOW .addr
.byte
- CDRAW .addr
+ CPREP .addr
.byte
- CMOVE .addr
+ CDRAW .addr
.byte
CMOVEX .addr
.byte
@@ -94,8 +94,8 @@
.struct MOUSE_CALLBACKS
HIDE .addr ; Hide the mouse cursor
SHOW .addr ; Show the mouse cursor
+ PREP .addr ; Prepare to move the mouse cursor
DRAW .addr ; Draw the mouse cursor
- MOVE .addr ; Prepare to move the mouse cursor
MOVEX .addr ; Move the mouse cursor to X coord
MOVEY .addr ; Move the mouse cursor to Y coord
.endstruct
diff --git a/include/mouse.h b/include/mouse.h
index 5e69c7ff6..64581eda7 100644
--- a/include/mouse.h
+++ b/include/mouse.h
@@ -88,7 +88,17 @@ struct mouse_callbacks {
/* Hide the mouse cursor. */
void (*show) (void);
- /* Show the mouse cursor */
+ /* Show the mouse cursor. */
+
+ void (*prep) (void);
+ /* Prepare to move the mouse cursor. This function is called,
+ * even when the cursor is currently invisible.
+ */
+
+ void (*draw) (void);
+ /* Draw the mouse cursor. This function is called,
+ * even when the cursor is currently invisible.
+ */
void __fastcall__ (*movex) (int x);
/* Move the mouse cursor to the new X coordinate. This function is called,
diff --git a/libsrc/apple2/mcbdefault.s b/libsrc/apple2/mcbdefault.s
index 892e387e0..cada4173a 100644
--- a/libsrc/apple2/mcbdefault.s
+++ b/libsrc/apple2/mcbdefault.s
@@ -26,8 +26,8 @@ visible:.res 1
_mouse_def_callbacks:
.addr hide
.addr show
+ .addr prep
.addr draw
- .addr move
.addr movex
.addr movey
@@ -76,7 +76,7 @@ hide:
; Fall through
; Prepare to move the mouse cursor.
-move:
+prep:
jsr getcursor ; Cursor visible at current position?
bne done ; No, we're done
lda backup ; Get character at cursor position
diff --git a/libsrc/apple2/mou/a2.stdmou.s b/libsrc/apple2/mou/a2.stdmou.s
index ecfb7da58..66869916a 100644
--- a/libsrc/apple2/mou/a2.stdmou.s
+++ b/libsrc/apple2/mou/a2.stdmou.s
@@ -57,8 +57,8 @@ status := $0778
; Callback table, set by the kernel before INSTALL is called
CHIDE: jmp $0000 ; Hide the cursor
CSHOW: jmp $0000 ; Show the cursor
+CPREP: jmp $0000 ; Prepare to move the cursor
CDRAW: jmp $0000 ; Draw the cursor
-CMOVE: jmp $0000 ; Prepare to move the cursor
CMOVEX: jmp $0000 ; Move the cursor to X coord
CMOVEY: jmp $0000 ; Move the cursor to Y coord
@@ -411,7 +411,7 @@ done: rts
beq :+
; Remove the cursor at the old position
-update: jsr CMOVE
+update: jsr CPREP
; Get and set the new X position
ldy slot
diff --git a/libsrc/c128/mcbdefault.s b/libsrc/c128/mcbdefault.s
index fcf742d14..01c54efca 100644
--- a/libsrc/c128/mcbdefault.s
+++ b/libsrc/c128/mcbdefault.s
@@ -22,55 +22,41 @@ MOUSE_SPR_NMASK = .lobyte(.not MOUSE_SPR_MASK) ; Negative mask
VIC_SPR_X = (VIC_SPR0_X + 2*MOUSE_SPR) ; Sprite X register
VIC_SPR_Y = (VIC_SPR0_Y + 2*MOUSE_SPR) ; Sprite Y register
-.code
-
; --------------------------------------------------------------------------
; Hide the mouse pointer. Always called with interrupts disabled.
-.proc hide
-
+hide:
lda #MOUSE_SPR_NMASK
and VIC_SPR_ENA
sta VIC_SPR_ENA
rts
-.endproc
-
; --------------------------------------------------------------------------
; Show the mouse pointer. Always called with interrupts disabled.
-.proc show
-
+show:
lda #MOUSE_SPR_MASK
ora VIC_SPR_ENA
sta VIC_SPR_ENA
- rts
-
-.endproc
-
-; --------------------------------------------------------------------------
-; Draw the mouse pointer. Always called with interrupts disabled.
-
-.proc draw
-
- rts
-
-.endproc
+ ; Fall through
; --------------------------------------------------------------------------
; Prepare to move the mouse pointer. Always called with interrupts disabled.
-.proc move
+prep:
+ ; Fall through
+; --------------------------------------------------------------------------
+; Draw the mouse pointer. Always called with interrupts disabled.
+
+draw:
rts
-.endproc
-
; --------------------------------------------------------------------------
; Move the mouse pointer X position to the value in a/x. Always called with
; interrupts disabled.
-.proc movex
+movex:
; Add the X correction and set the low byte. This frees A.
@@ -92,27 +78,22 @@ VIC_SPR_Y = (VIC_SPR0_Y + 2*MOUSE_SPR) ; Sprite Y register
sta VIC_SPR_HI_X
rts
-.endproc
-
; --------------------------------------------------------------------------
; Move the mouse pointer Y position to the value in a/x. Always called with
; interrupts disabled.
-.proc movey
-
+movey:
clc
ldx PALFLAG
- bne @L1
+ bne @L2
adc #50 ; FIXME: Should be NTSC, is PAL value
sta VIC_SPR_Y ; Set Y position
rts
-@L1: adc #50 ; Add PAL correction
+@L2: adc #50 ; Add PAL correction
sta VIC_SPR_Y ; Set Y position
rts
-.endproc
-
; --------------------------------------------------------------------------
; Callback structure
@@ -121,7 +102,7 @@ VIC_SPR_Y = (VIC_SPR0_Y + 2*MOUSE_SPR) ; Sprite Y register
_mouse_def_callbacks:
.addr hide
.addr show
+ .addr prep
.addr draw
- .addr move
.addr movex
.addr movey
diff --git a/libsrc/c128/mou/c128-1351.s b/libsrc/c128/mou/c128-1351.s
index 881605d2d..b4d950cda 100644
--- a/libsrc/c128/mou/c128-1351.s
+++ b/libsrc/c128/mou/c128-1351.s
@@ -50,8 +50,8 @@ HEADER:
CHIDE: jmp $0000 ; Hide the cursor
CSHOW: jmp $0000 ; Show the cursor
+CPREP: jmp $0000 ; Prepare to move the cursor
CDRAW: jmp $0000 ; Draw the cursor
-CMOVE: jmp $0000 ; Prepare to move the cursor
CMOVEX: jmp $0000 ; Move the cursor to X coord
CMOVEY: jmp $0000 ; Move the cursor to Y coord
@@ -304,7 +304,7 @@ IOCTL: lda #
Date: Fri, 17 Jan 2014 21:20:53 +0100
Subject: [PATCH 15/15] Minor cleanup.
---
libsrc/atari/carthdr.s | 3 ++-
libsrc/atari/cartstart.s | 1 -
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/libsrc/atari/carthdr.s b/libsrc/atari/carthdr.s
index bda11c06b..fedd36a1b 100644
--- a/libsrc/atari/carthdr.s
+++ b/libsrc/atari/carthdr.s
@@ -5,9 +5,10 @@
.ifndef __ATARIXL__
-.import __CARTSIZE__, __CARTFLAGS__, cartinit, cartstart
.export __CART_HEADER__: absolute = 1
+.import __CARTSIZE__, __CARTFLAGS__, cartinit, cartstart
+
.include "atari.inc"
.segment "CARTHDR"
diff --git a/libsrc/atari/cartstart.s b/libsrc/atari/cartstart.s
index eeac8933b..a30ab79c8 100644
--- a/libsrc/atari/cartstart.s
+++ b/libsrc/atari/cartstart.s
@@ -7,7 +7,6 @@
.export cartstart
.import start, copydata
-.importzp ptr1, ptr2, tmp1, tmp2
.include "atari.inc"