1
0
mirror of https://github.com/cc65/cc65.git synced 2026-04-26 13:18:31 +00:00

Replaced whole bunch for Makefiles with a single generic Makefile.

- No complex shell logic.
- "Source file shadowing" for all targets via vpath.
- Dependency handling.
- True incremental build.
- Don't write into source directories.
- Easy cleanup by just removing 'wrk'.
This commit is contained in:
Oliver Schmidt
2013-05-04 22:10:48 +02:00
parent 2cd8e140ad
commit 008b4c4e1d
138 changed files with 36 additions and 3707 deletions
+79
View File
@@ -0,0 +1,79 @@
;
; Graphics driver for the 80x192x9 (CIO mode 10, ANTIC mode F, GTIA mode $80) on the Atari.
;
; Fatih Aygun (2009)
;
.include "atari.inc"
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-error.inc"
.macpack generic
; ******************************************************************************
; ----------------------------------------------------------------------
;
; Constants and tables
;
; ----------------------------------------------------------------------
; Graphics mode
grmode = 10
; X resolution
x_res = 80
; Y resolution
y_res = 192
; Number of colors
colors = 9
; Pixels per byte
ppb = 2
; Screen memory size in bytes
scrsize = x_res * y_res / ppb
; Pixel aspect ratio
aspect = $0330 ; based on 4/3 display
; Free memory needed
mem_needed = 7147
; Number of screen pages
pages = 1
.rodata
mask_table: ; Mask table to set pixels
.byte %11110000, %00001111
masks: ; Color masks
.byte $00, $11, $22, $33, $44, $55, $66, $77, $88
bar_table: ; Mask table for BAR
.byte %11111111, %00001111, %00000000
default_palette:
.byte $00, $0E, $32, $96, $68, $C4, $74, $EE, $4A
.code
; ******************************************************************************
.proc SETPALETTE
; ----------------------------------------------------------------------
;
; SETPALETTE: Set the palette (in ptr1)
;
; ----------------------------------------------------------------------
.code
; Copy the palette
ldy #colors - 1
loop: lda (ptr1),y
sta palette,y
sta PCOLR0,y
dey
bpl loop
; Done, reset the error code
lda #TGI_ERR_OK
sta error
rts
.endproc
.include "atari_tgi_common.inc"
+71
View File
@@ -0,0 +1,71 @@
;
; Graphics driver for the 80x192x16h (CIO mode 11, ANTIC mode F, GTIA mode $C0) on the Atari.
;
; Fatih Aygun (2009)
;
.include "atari.inc"
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-error.inc"
.macpack generic
; ******************************************************************************
; ----------------------------------------------------------------------
;
; Constants and tables
;
; ----------------------------------------------------------------------
; Graphics mode
grmode = 11
; X resolution
x_res = 80
; Y resolution
y_res = 192
; Number of colors
colors = 16
; Pixels per byte
ppb = 2
; Screen memory size in bytes
scrsize = x_res * y_res / ppb
; Pixel aspect ratio
aspect = $0330 ; based on 4/3 display
; Free memory needed
mem_needed = 7147
; Number of screen pages
pages = 1
.rodata
mask_table: ; Mask table to set pixels
.byte %11110000, %00001111
masks: ; Color masks
.byte $00, $11, $22, $33, $44, $55, $66, $77, $88, $99, $aa, $bb, $cc, $dd, $ee, $ff
bar_table: ; Mask table for BAR
.byte %11111111, %00001111, %00000000
default_palette:
.byte $00, $10, $20, $30, $40, $50, $60, $70, $80, $90, $A0, $B0, $C0, $D0, $E0, $F0
.code
; ******************************************************************************
.proc SETPALETTE
; ----------------------------------------------------------------------
;
; SETPALETTE: Set the palette (in ptr1)
;
; ----------------------------------------------------------------------
.code
; No palettes
lda #TGI_ERR_INV_FUNC
sta error
rts
.endproc
.include "atari_tgi_common.inc"
+84
View File
@@ -0,0 +1,84 @@
;
; Graphics driver for the 160x192x2 (CIO mode 14, ANTIC mode C) on the Atari.
;
; Fatih Aygun (2009)
;
.include "atari.inc"
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-error.inc"
.macpack generic
; ******************************************************************************
; ----------------------------------------------------------------------
;
; Constants and tables
;
; ----------------------------------------------------------------------
; Graphics mode
grmode = 14
; X resolution
x_res = 160
; Y resolution
y_res = 192
; Number of colors
colors = 2
; Pixels per byte
ppb = 8
; Screen memory size in bytes
scrsize = x_res * y_res / ppb
; Pixel aspect ratio
aspect = $0198 ; based on 4/3 display
; Free memory needed
mem_needed = 3305
; Number of screen pages
pages = 1
.rodata
mask_table: ; Mask table to set pixels
.byte %10000000, %01000000, %00100000, %00010000, %00001000, %00000100, %00000010, %00000001
masks: ; Color masks
.byte %00000000, %11111111
bar_table: ; Mask table for BAR
.byte %11111111, %01111111, %00111111, %00011111, %00001111, %00000111, %00000011, %00000001, %00000000
default_palette:
.byte $00, $0E
.code
; ******************************************************************************
.proc SETPALETTE
; ----------------------------------------------------------------------
;
; SETPALETTE: Set the palette (in ptr1)
;
; ----------------------------------------------------------------------
.code
; Copy the palette
ldy #colors - 1
loop: lda (ptr1),y
sta palette,y
dey
bpl loop
; Get the color entries from the palette
lda palette
sta COLOR4
lda palette + 1
sta COLOR0
; Done, reset the error code
lda #TGI_ERR_OK
sta error
rts
.endproc
.include "atari_tgi_common.inc"
+88
View File
@@ -0,0 +1,88 @@
;
; Graphics driver for the 160x192x2 (CIO mode 15, ANTIC mode E) on the Atari.
;
; Fatih Aygun (2009)
;
.include "atari.inc"
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-error.inc"
.macpack generic
; ******************************************************************************
; ----------------------------------------------------------------------
;
; Constants and tables
;
; ----------------------------------------------------------------------
; Graphics mode
grmode = 15
; X resolution
x_res = 160
; Y resolution
y_res = 192
; Number of colors
colors = 4
; Pixels per byte
ppb = 4
; Screen memory size in bytes
scrsize = x_res * y_res / ppb
; Pixel aspect ratio
aspect = $0198 ; based on 4/3 display
; Free memory needed
mem_needed = 7147
; Number of screen pages
pages = 1
.rodata
mask_table: ; Mask table to set pixels
.byte %11000000, %00110000, %00001100, %00000011
masks: ; Color masks
.byte %00000000, %01010101, %10101010, %11111111
bar_table: ; Mask table for BAR
.byte %11111111, %00111111, %00001111, %00000011, %00000000
default_palette:
.byte $00, $0E, $32, $96
.code
; ******************************************************************************
.proc SETPALETTE
; ----------------------------------------------------------------------
;
; SETPALETTE: Set the palette (in ptr1)
;
; ----------------------------------------------------------------------
.code
; Copy the palette
ldy #colors - 1
loop: lda (ptr1),y
sta palette,y
dey
bpl loop
; Get the color entries from the palette
lda palette
sta COLOR4
lda palette + 1
sta COLOR0
lda palette + 2
sta COLOR1
lda palette + 3
sta COLOR2
; Done, reset the error code
lda #TGI_ERR_OK
sta error
rts
.endproc
.include "atari_tgi_common.inc"
+88
View File
@@ -0,0 +1,88 @@
;
; Graphics driver for the 40x24x4 (CIO mode 3, ANTIC mode 8) on the Atari.
;
; Fatih Aygun (2009)
;
.include "atari.inc"
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-error.inc"
.macpack generic
; ******************************************************************************
; ----------------------------------------------------------------------
;
; Constants and tables
;
; ----------------------------------------------------------------------
; Graphics mode
grmode = 3
; X resolution
x_res = 40
; Y resolution
y_res = 24
; Number of colors
colors = 4
; Pixels per byte
ppb = 4
; Screen memory size in bytes
scrsize = x_res * y_res / ppb
; Pixel aspect ratio
aspect = $00CC ; based on 4/3 display
; Free memory needed
mem_needed = 1
; Number of screen pages
pages = 1
.rodata
mask_table: ; Mask table to set pixels
.byte %11000000, %00110000, %00001100, %00000011
masks: ; Color masks
.byte %00000000, %01010101, %10101010, %11111111
bar_table: ; Mask table for BAR
.byte %11111111, %00111111, %00001111, %00000011, %00000000
default_palette:
.byte $00, $0E, $32, $96
.code
; ******************************************************************************
.proc SETPALETTE
; ----------------------------------------------------------------------
;
; SETPALETTE: Set the palette (in ptr1)
;
; ----------------------------------------------------------------------
.code
; Copy the palette
ldy #colors - 1
loop: lda (ptr1),y
sta palette,y
dey
bpl loop
; Get the color entries from the palette
lda palette
sta COLOR4
lda palette + 1
sta COLOR0
lda palette + 2
sta COLOR1
lda palette + 3
sta COLOR2
; Done, reset the error code
lda #TGI_ERR_OK
sta error
rts
.endproc
.include "atari_tgi_common.inc"
+84
View File
@@ -0,0 +1,84 @@
;
; Graphics driver for the 80x48x2 (CIO mode 4, ANTIC mode 9) on the Atari.
;
; Fatih Aygun (2009)
;
.include "atari.inc"
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-error.inc"
.macpack generic
; ******************************************************************************
; ----------------------------------------------------------------------
;
; Constants and tables
;
; ----------------------------------------------------------------------
; Graphics mode
grmode = 4
; X resolution
x_res = 80
; Y resolution
y_res = 48
; Number of colors
colors = 2
; Pixels per byte
ppb = 8
; Screen memory size in bytes
scrsize = x_res * y_res / ppb
; Pixel aspect ratio
aspect = $00CC ; based on 4/3 display
; Free memory needed
mem_needed = 1
; Number of screen pages
pages = 1
.rodata
mask_table: ; Mask table to set pixels
.byte %10000000, %01000000, %00100000, %00010000, %00001000, %00000100, %00000010, %00000001
masks: ; Color masks
.byte %00000000, %11111111
bar_table: ; Mask table for BAR
.byte %11111111, %01111111, %00111111, %00011111, %00001111, %00000111, %00000011, %00000001, %00000000
default_palette:
.byte $00, $0E
.code
; ******************************************************************************
.proc SETPALETTE
; ----------------------------------------------------------------------
;
; SETPALETTE: Set the palette (in ptr1)
;
; ----------------------------------------------------------------------
.code
; Copy the palette
ldy #colors - 1
loop: lda (ptr1),y
sta palette,y
dey
bpl loop
; Get the color entries from the palette
lda palette
sta COLOR4
lda palette + 1
sta COLOR0
; Done, reset the error code
lda #TGI_ERR_OK
sta error
rts
.endproc
.include "atari_tgi_common.inc"
+88
View File
@@ -0,0 +1,88 @@
;
; Graphics driver for the 80x48x4 (CIO mode 5, ANTIC mode A) on the Atari.
;
; Fatih Aygun (2009)
;
.include "atari.inc"
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-error.inc"
.macpack generic
; ******************************************************************************
; ----------------------------------------------------------------------
;
; Constants and tables
;
; ----------------------------------------------------------------------
; Graphics mode
grmode = 5
; X resolution
x_res = 80
; Y resolution
y_res = 48
; Number of colors
colors = 4
; Pixels per byte
ppb = 4
; Screen memory size in bytes
scrsize = x_res * y_res / ppb
; Pixel aspect ratio
aspect = $00CC ; based on 4/3 display
; Free memory needed
mem_needed = 185
; Number of screen pages
pages = 1
.rodata
mask_table: ; Mask table to set pixels
.byte %11000000, %00110000, %00001100, %00000011
masks: ; Color masks
.byte %00000000, %01010101, %10101010, %11111111
bar_table: ; Mask table for BAR
.byte %11111111, %00111111, %00001111, %00000011, %00000000
default_palette:
.byte $00, $0E, $32, $96
.code
; ******************************************************************************
.proc SETPALETTE
; ----------------------------------------------------------------------
;
; SETPALETTE: Set the palette (in ptr1)
;
; ----------------------------------------------------------------------
.code
; Copy the palette
ldy #colors - 1
loop: lda (ptr1),y
sta palette,y
dey
bpl loop
; Get the color entries from the palette
lda palette
sta COLOR4
lda palette + 1
sta COLOR0
lda palette + 2
sta COLOR1
lda palette + 3
sta COLOR2
; Done, reset the error code
lda #TGI_ERR_OK
sta error
rts
.endproc
.include "atari_tgi_common.inc"
+84
View File
@@ -0,0 +1,84 @@
;
; Graphics driver for the 160x96x2 (CIO mode 6, ANTIC mode B) on the Atari.
;
; Fatih Aygun (2009)
;
.include "atari.inc"
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-error.inc"
.macpack generic
; ******************************************************************************
; ----------------------------------------------------------------------
;
; Constants and tables
;
; ----------------------------------------------------------------------
; Graphics mode
grmode = 6
; X resolution
x_res = 160
; Y resolution
y_res = 96
; Number of colors
colors = 2
; Pixels per byte
ppb = 8
; Screen memory size in bytes
scrsize = x_res * y_res / ppb
; Pixel aspect ratio
aspect = $00CC ; based on 4/3 display
; Free memory needed
mem_needed = 1193
; Number of screen pages
pages = 1
.rodata
mask_table: ; Mask table to set pixels
.byte %10000000, %01000000, %00100000, %00010000, %00001000, %00000100, %00000010, %00000001
masks: ; Color masks
.byte %00000000, %11111111
bar_table: ; Mask table for BAR
.byte %11111111, %01111111, %00111111, %00011111, %00001111, %00000111, %00000011, %00000001, %00000000
default_palette:
.byte $00, $0E
.code
; ******************************************************************************
.proc SETPALETTE
; ----------------------------------------------------------------------
;
; SETPALETTE: Set the palette (in ptr1)
;
; ----------------------------------------------------------------------
.code
; Copy the palette
ldy #colors - 1
loop: lda (ptr1),y
sta palette,y
dey
bpl loop
; Get the color entries from the palette
lda palette
sta COLOR4
lda palette + 1
sta COLOR0
; Done, reset the error code
lda #TGI_ERR_OK
sta error
rts
.endproc
.include "atari_tgi_common.inc"
+88
View File
@@ -0,0 +1,88 @@
;
; Graphics driver for the 160x96x4 (CIO mode 7, ANTIC mode D) on the Atari.
;
; Fatih Aygun (2009)
;
.include "atari.inc"
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-error.inc"
.macpack generic
; ******************************************************************************
; ----------------------------------------------------------------------
;
; Constants and tables
;
; ----------------------------------------------------------------------
; Graphics mode
grmode = 7
; X resolution
x_res = 160
; Y resolution
y_res = 96
; Number of colors
colors = 4
; Pixels per byte
ppb = 4
; Screen memory size in bytes
scrsize = x_res * y_res / ppb
; Pixel aspect ratio
aspect = $00CC ; based on 4/3 display
; Free memory needed
mem_needed = 3209
; Number of screen pages
pages = 1
.rodata
mask_table: ; Mask table to set pixels
.byte %11000000, %00110000, %00001100, %00000011
masks: ; Color masks
.byte %00000000, %01010101, %10101010, %11111111
bar_table: ; Mask table for BAR
.byte %11111111, %00111111, %00001111, %00000011, %00000000
default_palette:
.byte $00, $0E, $32, $96
.code
; ******************************************************************************
.proc SETPALETTE
; ----------------------------------------------------------------------
;
; SETPALETTE: Set the palette (in ptr1)
;
; ----------------------------------------------------------------------
.code
; Copy the palette
ldy #colors - 1
loop: lda (ptr1),y
sta palette,y
dey
bpl loop
; Get the color entries from the palette
lda palette
sta COLOR4
lda palette + 1
sta COLOR0
lda palette + 2
sta COLOR1
lda palette + 3
sta COLOR2
; Done, reset the error code
lda #TGI_ERR_OK
sta error
rts
.endproc
.include "atari_tgi_common.inc"
+83
View File
@@ -0,0 +1,83 @@
;
; Graphics driver for the 320x192x2 (CIO mode 8, ANTIC mode F) on the Atari.
;
; Fatih Aygun (2009)
;
.include "atari.inc"
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-error.inc"
.macpack generic
; ******************************************************************************
; ----------------------------------------------------------------------
;
; Constants and tables
;
; ----------------------------------------------------------------------
; Graphics mode
grmode = 8
; X resolution
x_res = 320
; Y resolution
y_res = 192
; Number of colors
colors = 2
; Pixels per byte
ppb = 8
; Screen memory size in bytes
scrsize = x_res * y_res / ppb
; Pixel aspect ratio
aspect = $00CC ; based on 4/3 display
; Free memory needed
mem_needed = 7147
; Number of screen pages
pages = 1
.rodata
mask_table: ; Mask table to set pixels
.byte %10000000, %01000000, %00100000, %00010000, %00001000, %00000100, %00000010, %00000001
masks: ; Color masks
.byte %00000000, %11111111
bar_table: ; Mask table for BAR
.byte %11111111, %01111111, %00111111, %00011111, %00001111, %00000111, %00000011, %00000001, %00000000
default_palette:
.byte $00, $0E
.code
; ******************************************************************************
.proc SETPALETTE
; ----------------------------------------------------------------------
;
; SETPALETTE: Set the palette (in ptr1)
;
; ----------------------------------------------------------------------
.code
; Copy the palette
ldy #colors - 1
loop: lda (ptr1),y
sta palette,y
dey
bpl loop
; Get the color entries from the palette
lda palette
sta COLOR2
lda palette + 1
sta COLOR1
; Done, reset the error code
lda #TGI_ERR_OK
sta error
rts
.endproc
.include "atari_tgi_common.inc"
+71
View File
@@ -0,0 +1,71 @@
;
; Graphics driver for the 80x192x16b (CIO mode 9, ANTIC mode F, GTIA mode $40) on the Atari.
;
; Fatih Aygun (2009)
;
.include "atari.inc"
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-error.inc"
.macpack generic
; ******************************************************************************
; ----------------------------------------------------------------------
;
; Constants and tables
;
; ----------------------------------------------------------------------
; Graphics mode
grmode = 9
; X resolution
x_res = 80
; Y resolution
y_res = 192
; Number of colors
colors = 16
; Pixels per byte
ppb = 2
; Screen memory size in bytes
scrsize = x_res * y_res / ppb
; Pixel aspect ratio
aspect = $0330 ; based on 4/3 display
; Free memory needed
mem_needed = 7147
; Number of screen pages
pages = 1
.rodata
mask_table: ; Mask table to set pixels
.byte %11110000, %00001111
masks: ; Color masks
.byte $00, $11, $22, $33, $44, $55, $66, $77, $88, $99, $aa, $bb, $cc, $dd, $ee, $ff
bar_table: ; Mask table for BAR
.byte %11111111, %00001111, %00000000
default_palette:
.byte $00, $0F, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0A, $0B, $0C, $0D, $0E
.code
; ******************************************************************************
.proc SETPALETTE
; ----------------------------------------------------------------------
;
; SETPALETTE: Set the palette (in ptr1)
;
; ----------------------------------------------------------------------
.code
; No palettes
lda #TGI_ERR_INV_FUNC
sta error
rts
.endproc
.include "atari_tgi_common.inc"
File diff suppressed because it is too large Load Diff
+79
View File
@@ -0,0 +1,79 @@
;
; Graphics driver for the 80x192x9 (CIO mode 10, ANTIC mode F, GTIA mode $80) on the Atari.
;
; Fatih Aygun (2009)
;
.include "atari.inc"
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-error.inc"
.macpack generic
; ******************************************************************************
; ----------------------------------------------------------------------
;
; Constants and tables
;
; ----------------------------------------------------------------------
; Graphics mode
grmode = 10
; X resolution
x_res = 80
; Y resolution
y_res = 192
; Number of colors
colors = 9
; Pixels per byte
ppb = 2
; Screen memory size in bytes
scrsize = x_res * y_res / ppb
; Pixel aspect ratio
aspect = $0330 ; based on 4/3 display
; Free memory needed
mem_needed = 15339
; Number of screen pages
pages = 2
.rodata
mask_table: ; Mask table to set pixels
.byte %11110000, %00001111
masks: ; Color masks
.byte $00, $11, $22, $33, $44, $55, $66, $77, $88
bar_table: ; Mask table for BAR
.byte %11111111, %00001111, %00000000
default_palette:
.byte $00, $0E, $32, $96, $68, $C4, $74, $EE, $4A
.code
; ******************************************************************************
.proc SETPALETTE
; ----------------------------------------------------------------------
;
; SETPALETTE: Set the palette (in ptr1)
;
; ----------------------------------------------------------------------
.code
; Copy the palette
ldy #colors - 1
loop: lda (ptr1),y
sta palette,y
sta PCOLR0,y
dey
bpl loop
; Done, reset the error code
lda #TGI_ERR_OK
sta error
rts
.endproc
.include "atari_tgi_common.inc"
+88
View File
@@ -0,0 +1,88 @@
;
; Graphics driver for the 160x192x2 (CIO mode 15, ANTIC mode E) on the Atari.
;
; Fatih Aygun (2009)
;
.include "atari.inc"
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-error.inc"
.macpack generic
; ******************************************************************************
; ----------------------------------------------------------------------
;
; Constants and tables
;
; ----------------------------------------------------------------------
; Graphics mode
grmode = 15
; X resolution
x_res = 160
; Y resolution
y_res = 192
; Number of colors
colors = 4
; Pixels per byte
ppb = 4
; Screen memory size in bytes
scrsize = x_res * y_res / ppb
; Pixel aspect ratio
aspect = $0198 ; based on 4/3 display
; Free memory needed
mem_needed = 15339
; Number of screen pages
pages = 2
.rodata
mask_table: ; Mask table to set pixels
.byte %11000000, %00110000, %00001100, %00000011
masks: ; Color masks
.byte %00000000, %01010101, %10101010, %11111111
bar_table: ; Mask table for BAR
.byte %11111111, %00111111, %00001111, %00000011, %00000000
default_palette:
.byte $00, $0E, $32, $96
.code
; ******************************************************************************
.proc SETPALETTE
; ----------------------------------------------------------------------
;
; SETPALETTE: Set the palette (in ptr1)
;
; ----------------------------------------------------------------------
.code
; Copy the palette
ldy #colors - 1
loop: lda (ptr1),y
sta palette,y
dey
bpl loop
; Get the color entries from the palette
lda palette
sta COLOR4
lda palette + 1
sta COLOR0
lda palette + 2
sta COLOR1
lda palette + 3
sta COLOR2
; Done, reset the error code
lda #TGI_ERR_OK
sta error
rts
.endproc
.include "atari_tgi_common.inc"
+83
View File
@@ -0,0 +1,83 @@
;
; Graphics driver for the 320x192x2 (CIO mode 8, ANTIC mode F) on the Atari.
;
; Fatih Aygun (2009)
;
.include "atari.inc"
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-error.inc"
.macpack generic
; ******************************************************************************
; ----------------------------------------------------------------------
;
; Constants and tables
;
; ----------------------------------------------------------------------
; Graphics mode
grmode = 8
; X resolution
x_res = 320
; Y resolution
y_res = 192
; Number of colors
colors = 2
; Pixels per byte
ppb = 8
; Screen memory size in bytes
scrsize = x_res * y_res / ppb
; Pixel aspect ratio
aspect = $00CC ; based on 4/3 display
; Free memory needed
mem_needed = 15339
; Number of screen pages
pages = 2
.rodata
mask_table: ; Mask table to set pixels
.byte %10000000, %01000000, %00100000, %00010000, %00001000, %00000100, %00000010, %00000001
masks: ; Color masks
.byte %00000000, %11111111
bar_table: ; Mask table for BAR
.byte %11111111, %01111111, %00111111, %00011111, %00001111, %00000111, %00000011, %00000001, %00000000
default_palette:
.byte $00, $0E
.code
; ******************************************************************************
.proc SETPALETTE
; ----------------------------------------------------------------------
;
; SETPALETTE: Set the palette (in ptr1)
;
; ----------------------------------------------------------------------
.code
; Copy the palette
ldy #colors - 1
loop: lda (ptr1),y
sta palette,y
dey
bpl loop
; Get the color entries from the palette
lda palette
sta COLOR2
lda palette + 1
sta COLOR1
; Done, reset the error code
lda #TGI_ERR_OK
sta error
rts
.endproc
.include "atari_tgi_common.inc"
+71
View File
@@ -0,0 +1,71 @@
;
; Graphics driver for the 80x192x16b (CIO mode 9, ANTIC mode F, GTIA mode $40) on the Atari.
;
; Fatih Aygun (2009)
;
.include "atari.inc"
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-error.inc"
.macpack generic
; ******************************************************************************
; ----------------------------------------------------------------------
;
; Constants and tables
;
; ----------------------------------------------------------------------
; Graphics mode
grmode = 9
; X resolution
x_res = 80
; Y resolution
y_res = 192
; Number of colors
colors = 16
; Pixels per byte
ppb = 2
; Screen memory size in bytes
scrsize = x_res * y_res / ppb
; Pixel aspect ratio
aspect = $0330 ; based on 4/3 display
; Free memory needed
mem_needed = 15339
; Number of screen pages
pages = 2
.rodata
mask_table: ; Mask table to set pixels
.byte %11110000, %00001111
masks: ; Color masks
.byte $00, $11, $22, $33, $44, $55, $66, $77, $88, $99, $aa, $bb, $cc, $dd, $ee, $ff
bar_table: ; Mask table for BAR
.byte %11111111, %00001111, %00000000
default_palette:
.byte $00, $0F, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0A, $0B, $0C, $0D, $0E
.code
; ******************************************************************************
.proc SETPALETTE
; ----------------------------------------------------------------------
;
; SETPALETTE: Set the palette (in ptr1)
;
; ----------------------------------------------------------------------
.code
; No palettes
lda #TGI_ERR_INV_FUNC
sta error
rts
.endproc
.include "atari_tgi_common.inc"