Create static drivers directly from source files.
Up to now static drivers were created via co65 from dynamic drivers. However there was an issue with that approach: The dynamic drivers are "o65 simple files" which obligates that they start with the 'code' segment. However dynamic drivers need to start with the module header - which is written to. For dynamic drivers this isn't more than a conceptual issue because they are always contain a 'data' segment and may therefore only be loaded into writable memory. However when dynamic drivers are converted to static drivers using co65 then that issue becomes a real problem as then the 'code' segment may end up in non-writable memory - and thus writing to the module header fails. Instead of changing the way dynamic drivers work I opted to rather make static driver creation totally independent from dynamic drivers. This allows to place the module header in the 'data' segment (see 'module.mac').
This commit is contained in:
@@ -13,14 +13,14 @@
|
||||
.include "em-kernel.inc"
|
||||
.include "em-error.inc"
|
||||
|
||||
|
||||
.macpack generic
|
||||
.macpack module
|
||||
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; Header. Includes jump table
|
||||
|
||||
.segment "HEADER"
|
||||
module_header _c128_georam_emd
|
||||
|
||||
; Driver signature
|
||||
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
.include "em-error.inc"
|
||||
.include "c128.inc"
|
||||
|
||||
|
||||
.macpack generic
|
||||
.macpack module
|
||||
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; Header. Includes jump table
|
||||
|
||||
.segment "HEADER"
|
||||
module_header _c128_ram_emd
|
||||
|
||||
; Driver signature
|
||||
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
.include "em-error.inc"
|
||||
.include "c128.inc"
|
||||
|
||||
|
||||
.macpack generic
|
||||
.macpack module
|
||||
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; Header. Includes jump table
|
||||
|
||||
.segment "HEADER"
|
||||
module_header _c128_ram2_emd
|
||||
|
||||
; Driver signature
|
||||
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
.include "em-kernel.inc"
|
||||
.include "em-error.inc"
|
||||
|
||||
|
||||
.macpack generic
|
||||
.macpack module
|
||||
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; Header. Includes jump table
|
||||
|
||||
.segment "HEADER"
|
||||
module_header _c128_ramcart_emd
|
||||
|
||||
; Driver signature
|
||||
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
.include "em-error.inc"
|
||||
.include "c128.inc"
|
||||
|
||||
|
||||
.macpack generic
|
||||
.macpack module
|
||||
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; Header. Includes jump table
|
||||
|
||||
.segment "HEADER"
|
||||
module_header _c128_reu_emd
|
||||
|
||||
; Driver signature
|
||||
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
.include "em-kernel.inc"
|
||||
.include "em-error.inc"
|
||||
|
||||
|
||||
.macpack generic
|
||||
.macpack module
|
||||
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; Header. Includes jump table
|
||||
|
||||
.segment "HEADER"
|
||||
module_header _c128_vdc_emd
|
||||
|
||||
; Driver signature
|
||||
|
||||
|
||||
@@ -13,11 +13,13 @@
|
||||
.include "c128.inc"
|
||||
|
||||
.macpack generic
|
||||
.macpack module
|
||||
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; Header. Includes jump table
|
||||
|
||||
.segment "HEADER"
|
||||
module_header _c128_ptvjoy_joy
|
||||
|
||||
; Driver signature
|
||||
|
||||
|
||||
@@ -13,12 +13,13 @@
|
||||
.include "c128.inc"
|
||||
|
||||
.macpack generic
|
||||
.macpack module
|
||||
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; Header. Includes jump table
|
||||
|
||||
.segment "HEADER"
|
||||
module_header _c128_stdjoy_joy
|
||||
|
||||
; Driver signature
|
||||
|
||||
|
||||
@@ -12,11 +12,13 @@
|
||||
.include "c128.inc"
|
||||
|
||||
.macpack generic
|
||||
.macpack module
|
||||
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; Header. Includes jump table
|
||||
|
||||
.segment "HEADER"
|
||||
module_header _c128_1351_mou
|
||||
|
||||
HEADER:
|
||||
|
||||
|
||||
@@ -10,11 +10,13 @@
|
||||
.include "c128.inc"
|
||||
|
||||
.macpack generic
|
||||
.macpack module
|
||||
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; Header. Includes jump table.
|
||||
|
||||
.segment "HEADER"
|
||||
module_header _c128_inkwell_mou
|
||||
|
||||
HEADER:
|
||||
|
||||
|
||||
@@ -11,11 +11,13 @@
|
||||
.include "c128.inc"
|
||||
|
||||
.macpack generic
|
||||
.macpack module
|
||||
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; Header. Includes jump table
|
||||
|
||||
.segment "HEADER"
|
||||
module_header _c128_joy_mou
|
||||
|
||||
HEADER:
|
||||
|
||||
|
||||
@@ -12,11 +12,13 @@
|
||||
.include "c128.inc"
|
||||
|
||||
.macpack generic
|
||||
.macpack module
|
||||
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; Header. Includes jump table
|
||||
|
||||
.segment "HEADER"
|
||||
module_header _c128_pot_mou
|
||||
|
||||
HEADER:
|
||||
|
||||
|
||||
@@ -26,11 +26,13 @@
|
||||
.include "ser-error.inc"
|
||||
.include "c128.inc"
|
||||
|
||||
.macpack module
|
||||
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; Header. Includes jump table
|
||||
|
||||
.segment "HEADER"
|
||||
module_header _c128_swlink_ser
|
||||
|
||||
; Driver signature
|
||||
|
||||
|
||||
@@ -25,8 +25,9 @@
|
||||
.include "tgi-kernel.inc"
|
||||
.include "tgi-error.inc"
|
||||
|
||||
|
||||
.macpack generic
|
||||
.macpack module
|
||||
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; Constants
|
||||
@@ -48,7 +49,7 @@ VDC_DATA = 31
|
||||
; ------------------------------------------------------------------------
|
||||
; Header. Includes jump table and constants.
|
||||
|
||||
.segment "HEADER"
|
||||
module_header _c128_vdc_tgi
|
||||
|
||||
; First part of the header is a structure that has a magic and defines the
|
||||
; capabilities of the driver
|
||||
|
||||
@@ -26,8 +26,9 @@
|
||||
.include "tgi-kernel.inc"
|
||||
.include "tgi-error.inc"
|
||||
|
||||
|
||||
.macpack generic
|
||||
.macpack module
|
||||
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; Constants
|
||||
@@ -49,7 +50,7 @@ VDC_DATA = 31
|
||||
; ------------------------------------------------------------------------
|
||||
; Header. Includes jump table and constants.
|
||||
|
||||
.segment "HEADER"
|
||||
module_header _c128_vdc2_tgi
|
||||
|
||||
; First part of the header is a structure that has a magic and defines the
|
||||
; capabilities of the driver
|
||||
|
||||
Reference in New Issue
Block a user