Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/NesTiler.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2022-10-24 22:57:13 +0300
committerAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2022-10-24 22:57:13 +0300
commitcb5930b4118b976f0134f9d2ca8e55332b976c6c (patch)
treeb86514185962a3dfc06f697de1fe6e919a859eec
parentd837edd7bf06e377efc2db2a5e28837fe384a126 (diff)
Samples.
-rw-r--r--Samples/mmc3_split2_animation/main.asm12
-rw-r--r--Samples/mmc3_split4/main.asm12
-rw-r--r--Samples/nrom_group_scroll/main.asm12
-rw-r--r--Samples/nrom_simple/main.asm12
-rw-r--r--Samples/nrom_simple_offset/main.asm12
-rw-r--r--Samples/nrom_split/main.asm12
-rw-r--r--Samples/nrom_split_lossy/main.asm12
-rw-r--r--Samples/sprites8x8/Makefile39
-rw-r--r--Samples/sprites8x8/main.asm155
-rw-r--r--TestImages/Images/sprites1.pngbin0 -> 1513 bytes
10 files changed, 236 insertions, 42 deletions
diff --git a/Samples/mmc3_split2_animation/main.asm b/Samples/mmc3_split2_animation/main.asm
index 681cfc3..1598d09 100644
--- a/Samples/mmc3_split2_animation/main.asm
+++ b/Samples/mmc3_split2_animation/main.asm
@@ -67,14 +67,14 @@ load_palette:
lda #HIGH(palette)
sta <COPY_SOURCE_ADDR+1
lda #$3F
- sta $2006
+ sta PPUADDR
lda #$00
- sta $2006
+ sta PPUADDR
ldy #$00
ldx #16
.loop:
lda [COPY_SOURCE_ADDR], y
- sta $2007
+ sta PPUDATA
iny
dex
bne .loop
@@ -85,14 +85,14 @@ load_nametable:
lda #HIGH(nametable_0)
sta <COPY_SOURCE_ADDR+1
lda #$20
- sta $2006
+ sta PPUADDR
lda #$00
- sta $2006
+ sta PPUADDR
ldy #$00
ldx #$00
.loop:
lda [COPY_SOURCE_ADDR], y
- sta $2007
+ sta PPUDATA
iny
bne .loop
inc COPY_SOURCE_ADDR+1
diff --git a/Samples/mmc3_split4/main.asm b/Samples/mmc3_split4/main.asm
index 31db8e9..70dd12f 100644
--- a/Samples/mmc3_split4/main.asm
+++ b/Samples/mmc3_split4/main.asm
@@ -64,14 +64,14 @@ load_palette:
lda #HIGH(palette)
sta <COPY_SOURCE_ADDR+1
lda #$3F
- sta $2006
+ sta PPUADDR
lda #$00
- sta $2006
+ sta PPUADDR
ldy #$00
ldx #16
.loop:
lda [COPY_SOURCE_ADDR], y
- sta $2007
+ sta PPUDATA
iny
dex
bne .loop
@@ -82,14 +82,14 @@ load_nametable:
lda #HIGH(nametable_0)
sta <COPY_SOURCE_ADDR+1
lda #$20
- sta $2006
+ sta PPUADDR
lda #$00
- sta $2006
+ sta PPUADDR
ldy #$00
ldx #$00
.loop:
lda [COPY_SOURCE_ADDR], y
- sta $2007
+ sta PPUDATA
iny
bne .loop
inc COPY_SOURCE_ADDR+1
diff --git a/Samples/nrom_group_scroll/main.asm b/Samples/nrom_group_scroll/main.asm
index 279e48d..392f008 100644
--- a/Samples/nrom_group_scroll/main.asm
+++ b/Samples/nrom_group_scroll/main.asm
@@ -68,14 +68,14 @@ load_palette:
lda #HIGH(palette)
sta <COPY_SOURCE_ADDR+1
lda #$3F
- sta $2006
+ sta PPUADDR
lda #$00
- sta $2006
+ sta PPUADDR
ldy #$00
ldx #16
.loop:
lda [COPY_SOURCE_ADDR], y
- sta $2007
+ sta PPUDATA
iny
dex
bne .loop
@@ -86,14 +86,14 @@ load_nametable:
lda #HIGH(nametable_0)
sta <COPY_SOURCE_ADDR+1
lda #$20
- sta $2006
+ sta PPUADDR
lda #$00
- sta $2006
+ sta PPUADDR
ldy #$00
ldx #$00
.loop:
lda [COPY_SOURCE_ADDR], y
- sta $2007
+ sta PPUDATA
iny
bne .loop
inc COPY_SOURCE_ADDR+1
diff --git a/Samples/nrom_simple/main.asm b/Samples/nrom_simple/main.asm
index 86713ee..3f87247 100644
--- a/Samples/nrom_simple/main.asm
+++ b/Samples/nrom_simple/main.asm
@@ -63,14 +63,14 @@ load_palette:
lda #HIGH(palette)
sta <COPY_SOURCE_ADDR+1
lda #$3F
- sta $2006
+ sta PPUADDR
lda #$00
- sta $2006
+ sta PPUADDR
ldy #$00
ldx #16
.loop:
lda [COPY_SOURCE_ADDR], y
- sta $2007
+ sta PPUDATA
iny
dex
bne .loop
@@ -81,14 +81,14 @@ load_nametable:
lda #HIGH(nametable_0)
sta <COPY_SOURCE_ADDR+1
lda #$20
- sta $2006
+ sta PPUADDR
lda #$00
- sta $2006
+ sta PPUADDR
ldy #$00
ldx #$00
.loop:
lda [COPY_SOURCE_ADDR], y
- sta $2007
+ sta PPUDATA
iny
bne .loop
inc COPY_SOURCE_ADDR+1
diff --git a/Samples/nrom_simple_offset/main.asm b/Samples/nrom_simple_offset/main.asm
index 99e4619..2fb062f 100644
--- a/Samples/nrom_simple_offset/main.asm
+++ b/Samples/nrom_simple_offset/main.asm
@@ -63,14 +63,14 @@ load_palette:
lda #HIGH(palette)
sta <COPY_SOURCE_ADDR+1
lda #$3F
- sta $2006
+ sta PPUADDR
lda #$00
- sta $2006
+ sta PPUADDR
ldy #$00
ldx #16
.loop:
lda [COPY_SOURCE_ADDR], y
- sta $2007
+ sta PPUDATA
iny
dex
bne .loop
@@ -81,14 +81,14 @@ load_nametable:
lda #HIGH(nametable_0)
sta <COPY_SOURCE_ADDR+1
lda #$21
- sta $2006
+ sta PPUADDR
lda #$40
- sta $2006
+ sta PPUADDR
ldy #$00
ldx #$00
.loop:
lda [COPY_SOURCE_ADDR], y
- sta $2007
+ sta PPUDATA
iny
bne .loop
inc COPY_SOURCE_ADDR+1
diff --git a/Samples/nrom_split/main.asm b/Samples/nrom_split/main.asm
index 54fe0c5..729aef5 100644
--- a/Samples/nrom_split/main.asm
+++ b/Samples/nrom_split/main.asm
@@ -64,14 +64,14 @@ load_palette:
lda #HIGH(palette)
sta <COPY_SOURCE_ADDR+1
lda #$3F
- sta $2006
+ sta PPUADDR
lda #$00
- sta $2006
+ sta PPUADDR
ldy #$00
ldx #16
.loop:
lda [COPY_SOURCE_ADDR], y
- sta $2007
+ sta PPUDATA
iny
dex
bne .loop
@@ -82,14 +82,14 @@ load_nametable:
lda #HIGH(nametable_0)
sta <COPY_SOURCE_ADDR+1
lda #$20
- sta $2006
+ sta PPUADDR
lda #$00
- sta $2006
+ sta PPUADDR
ldy #$00
ldx #$00
.loop:
lda [COPY_SOURCE_ADDR], y
- sta $2007
+ sta PPUDATA
iny
bne .loop
inc COPY_SOURCE_ADDR+1
diff --git a/Samples/nrom_split_lossy/main.asm b/Samples/nrom_split_lossy/main.asm
index 54fe0c5..729aef5 100644
--- a/Samples/nrom_split_lossy/main.asm
+++ b/Samples/nrom_split_lossy/main.asm
@@ -64,14 +64,14 @@ load_palette:
lda #HIGH(palette)
sta <COPY_SOURCE_ADDR+1
lda #$3F
- sta $2006
+ sta PPUADDR
lda #$00
- sta $2006
+ sta PPUADDR
ldy #$00
ldx #16
.loop:
lda [COPY_SOURCE_ADDR], y
- sta $2007
+ sta PPUDATA
iny
dex
bne .loop
@@ -82,14 +82,14 @@ load_nametable:
lda #HIGH(nametable_0)
sta <COPY_SOURCE_ADDR+1
lda #$20
- sta $2006
+ sta PPUADDR
lda #$00
- sta $2006
+ sta PPUADDR
ldy #$00
ldx #$00
.loop:
lda [COPY_SOURCE_ADDR], y
- sta $2007
+ sta PPUDATA
iny
bne .loop
inc COPY_SOURCE_ADDR+1
diff --git a/Samples/sprites8x8/Makefile b/Samples/sprites8x8/Makefile
new file mode 100644
index 0000000..aa1be55
--- /dev/null
+++ b/Samples/sprites8x8/Makefile
@@ -0,0 +1,39 @@
+NESASM=nesasm
+EMU=fceux64
+TILER=nestiler
+SOURCE=main.asm
+EXECUTABLE=sprites8x8.nes
+
+IMAGE?=../../TestImages/Images/sprites1.png
+
+PATTERN_0_BIN=pattern_0.bin
+PALETTE_0_BIN=palette_0.bin
+
+build: $(EXECUTABLE)
+
+all: $(EXECUTABLE)
+
+clean:
+ rm -f *.nes *.lst *.nl *.bin
+
+run: $(EXECUTABLE)
+ $(EMU) $(EXECUTABLE)
+
+$(EXECUTABLE): $(SOURCE) \
+$(PATTERN_0_BIN) $(PATTERN_1_BIN) \
+$(NAME_TABLE_0_BIN) $(NAME_TABLE_1_BIN) \
+$(ATTR_TABLE_0_BIN) $(ATTR_TABLE_1_BIN) \
+$(PALETTE_0_BIN) $(PALETTE_1_BIN)
+ rm -f $(EXECUTABLE)
+ $(NESASM) $(SOURCE) -o $(EXECUTABLE) --symbols=$(notdir $(EXECUTABLE)) -iWss
+
+$(PATTERN_0_BIN) \
+$(NAME_TABLE_0_BIN) \
+$(ATTR_TABLE_0_BIN) \
+$(PALETTE_0_BIN) $(PALETTE_1_BIN) \
+$(PALETTE_2_BIN) $(PALETTE_3_BIN): $(IMAGE)
+ $(TILER) --mode sprites8x8 --enable-palettes 0 \
+ --in-0 $(IMAGE) \
+ --out-pattern-table-0 $(PATTERN_0_BIN) \
+ --out-palette-0 $(PALETTE_0_BIN) \
+ --out-tiles-csv sprites.csv --bg-color \#000000 \ No newline at end of file
diff --git a/Samples/sprites8x8/main.asm b/Samples/sprites8x8/main.asm
new file mode 100644
index 0000000..944381c
--- /dev/null
+++ b/Samples/sprites8x8/main.asm
@@ -0,0 +1,155 @@
+ ; INES header stuff
+ .inesprg 1 ; 1 bank of PRG
+ .ineschr 1 ; 1 bank of CHR data
+ .inesmir 0 ; mirroring
+ .inesmap 0 ; we use mapper 0
+
+ .rsset $0000 ; variables
+COPY_SOURCE_ADDR .rs 2
+COPY_DEST_ADDR .rs 2
+ .rsset $0200
+SPRITES .rs 256
+
+ .bank 1
+ .org $FFFA ; reset vectors
+ .dw NMI
+ .dw Start
+ .dw IRQ
+
+ .bank 0
+ .org $C000 ; code starts here
+Start:
+ ; disable interrupts
+ sei
+ ; reset stack
+ ldx #$ff
+ txs
+
+ ; disable PPU
+ lda #%00000000
+ sta PPUCTRL
+ lda #%00000000
+ sta PPUMASK
+
+ jsr waitblank
+
+ ; reset sound
+ lda #0
+ sta $4000
+ sta $4001
+ sta $4002
+ sta $4003
+ sta $4004
+ sta $4005
+ sta $4006
+ sta $4007
+ sta $4009
+ sta $400A
+ sta $400C
+ sta $400D
+ sta $400E
+ sta $400F
+ sta $4010
+ sta $4011
+ sta $4012
+ sta $4013
+ lda #$0F
+ sta $4015
+ lda #$40
+ sta $4017
+ lda #0
+
+load_palette:
+ ; load single palette for sprites
+ lda #$3F
+ sta PPUADDR
+ lda #$10
+ sta PPUADDR
+ lda palette
+ sta PPUDATA
+ lda palette+1
+ sta PPUDATA
+ lda palette+2
+ sta PPUDATA
+ lda palette+3
+ sta PPUDATA
+
+reset_sprites:
+ lda #$FF
+ ldx 0
+.loop:
+ sta SPRITES, x
+ inx
+ bne .loop
+
+set_sprites:
+ ldx 0
+.loop:
+ lda sprites_init_data, x
+ sta SPRITES, x
+ inx
+ cpx #(4 * 12)
+ bne .loop
+
+ ; enable PPU
+ jsr waitblank
+ lda #%00000000
+ sta PPUCTRL
+ lda #%00010100
+ sta PPUMASK
+
+main_loop:
+ jsr waitblank
+
+ ldx 0
+.move_sprites_loop:
+ inc SPRITES, x
+ inx
+ inx
+ inx
+ inx
+ cpx #(4 * 12 + 3)
+ bne .move_sprites_loop
+
+ lda #0
+ sta OAMADDR
+ lda #HIGH(SPRITES)
+ sta OAMDMA
+ jmp main_loop
+
+ ; VBlank wait subroutine
+waitblank:
+ bit PPUSTATUS
+ lda #0
+ sta PPUSCROLL
+ sta PPUSCROLL
+.loop:
+ lda PPUSTATUS ; load A with value at location PPUSTATUS
+ bpl .loop ; if bit 7 is not set (not VBlank) keep checking
+ rts
+
+NMI:
+ rti
+
+IRQ:
+ rti
+
+palette:
+ .incbin "palette_0.bin"
+sprites_init_data:
+ .db 0, 0, 0, 10
+ .db 20, 1, 0, 30
+ .db 40, 2, 0, 50
+ .db 60, 3, 0, 70
+ .db 80, 4, 0, 90
+ .db 100, 5, 0, 110
+ .db 120, 6, 0, 130
+ .db 140, 7, 0, 150
+ .db 160, 8, 0, 170
+ .db 180, 9, 0, 190
+ .db 200, 10, 0, 210
+ .db 220, 11, 0, 230
+
+ .bank 2
+ .org $0000
+ .incbin "pattern_0.bin"
diff --git a/TestImages/Images/sprites1.png b/TestImages/Images/sprites1.png
new file mode 100644
index 0000000..55b9eed
--- /dev/null
+++ b/TestImages/Images/sprites1.png
Binary files differ