Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
122724b
Initial plan
Copilot Mar 15, 2026
e07ada9
Add crypto sample: port C game to C# for dotnes NES transpiler
Copilot Mar 15, 2026
e8ae7f6
Port crypto.c game from 8bitworkshop to C# for dotnes transpiler
Copilot Mar 15, 2026
d99b37b
Add crypto sample port (WIP - needs inlining to avoid closures)
Copilot Mar 15, 2026
45ca35b
Replace PAD constant redefinitions with direct PAD enum usage
jonathanpeppers Mar 15, 2026
4fe80a2
Support user-defined static fields in oam_spr arguments
jonathanpeppers Mar 15, 2026
df89f25
Merge remote-tracking branch 'origin/main' into copilot/port-8bitwork…
jonathanpeppers Mar 18, 2026
7c33731
Fix merge conflicts and update PAD usage for pad_trigger return type …
jonathanpeppers Mar 18, 2026
c7ccca2
Inline all 7 local functions in crypto sample to eliminate closures
jonathanpeppers Mar 18, 2026
ace39de
Merge branch 'main' into copilot/port-8bitworkshop-crypto-c
jonathanpeppers Mar 18, 2026
fcb1da2
Merge branch 'main' into copilot/port-8bitworkshop-crypto-c
jonathanpeppers Mar 18, 2026
20195e1
Merge branch 'main' into copilot/port-8bitworkshop-crypto-c
jonathanpeppers Mar 20, 2026
0bf5f84
Merge remote-tracking branch 'origin/main' into copilot/port-8bitwork…
jonathanpeppers Mar 20, 2026
df2157a
Evaluate constant-only compound oam_spr args at compile time
jonathanpeppers Mar 20, 2026
da85faa
Apply sample workarounds for crypto transpilation
jonathanpeppers Mar 20, 2026
630449b
Use jroatch CHR tileset for crypto sample background rendering
jonathanpeppers Mar 21, 2026
2dd1f38
Use correct CHR tileset from reference ROM and fix palette values
jonathanpeppers Mar 21, 2026
6e5fdca
Use reference ROM CHR tileset for correct title screen rendering
jonathanpeppers Mar 21, 2026
bf3ab21
Fix CHR tile data corruption from backslash-dollar escaping
jonathanpeppers Mar 21, 2026
d63adac
Merge remote-tracking branch 'origin/main' into copilot/port-8bitwork…
jonathanpeppers Mar 21, 2026
f1db9bf
Add full 16KB CHR from reference ROM, revert MMC3 experiment
jonathanpeppers Mar 21, 2026
f999cc0
Add FamiTone2 sound effects to crypto sample
jonathanpeppers Mar 21, 2026
f290656
Merge branch 'main' into copilot/port-8bitworkshop-crypto-c
jonathanpeppers Mar 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
514 changes: 514 additions & 0 deletions samples/animation/chr_generic.chr

Large diffs are not rendered by default.

2,368 changes: 2,368 additions & 0 deletions samples/crypto/Program.cs

Large diffs are not rendered by default.

1,025 changes: 1,025 additions & 0 deletions samples/crypto/chr_crypto_0.s

Large diffs are not rendered by default.

1,025 changes: 1,025 additions & 0 deletions samples/crypto/chr_crypto_1.s

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions samples/crypto/cmp_dn.raw.state
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
BG pattern: 4096
SPR pattern: 0
2 changes: 2 additions & 0 deletions samples/crypto/cmp_ref.raw.state
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
BG pattern: 4096
SPR pattern: 0
16 changes: 16 additions & 0 deletions samples/crypto/crypto.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk" >

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<NESChrBanks>2</NESChrBanks>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="dotnes" Version="$(PackageVersion)" />
<PackageReference Include="dotnes.anese" Version="0.9.1" />
</ItemGroup>

</Project>
70 changes: 70 additions & 0 deletions samples/crypto/demosounds.s
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
;this file for FamiTone2 libary generated by nsf2data tool

.export _demo_sounds
_demo_sounds:
.word @ntsc
.word @pal
@ntsc:
.word @sfx_ntsc_0
.word @sfx_ntsc_1
.word @sfx_ntsc_2
.word @sfx_ntsc_3
@pal:
.word @sfx_pal_0
.word @sfx_pal_1
.word @sfx_pal_2
.word @sfx_pal_3

@sfx_ntsc_0:
.byte $80,$bf,$81,$56,$82,$03,$83,$bf,$84,$a6,$85,$02,$04,$81,$3a,$82
.byte $02,$84,$c4,$85,$01,$04,$81,$ab,$82,$01,$84,$52,$04,$81,$1c,$84
.byte $e1,$85,$00,$04,$81,$d5,$82,$00,$84,$a9,$04,$80,$b8,$81,$1c,$82
.byte $01,$83,$b8,$84,$e1,$04,$81,$d5,$82,$00,$84,$a9,$04,$80,$30,$00
@sfx_pal_0:
.byte $80,$bf,$81,$19,$82,$03,$83,$bf,$84,$75,$85,$02,$04,$81,$11,$82
.byte $02,$84,$a4,$85,$01,$03,$81,$8c,$82,$01,$84,$3a,$03,$81,$08,$84
.byte $d1,$85,$00,$04,$81,$c6,$82,$00,$84,$9d,$03,$80,$b8,$81,$08,$82
.byte $01,$83,$b8,$84,$d1,$03,$81,$c6,$82,$00,$84,$9d,$04,$80,$30,$00
@sfx_ntsc_1:
.byte $89,$3f,$8a,$0d,$01,$8a,$0b,$01,$8a,$09,$01,$8a,$07,$01,$8a,$05
.byte $01,$8a,$03,$01,$89,$3e,$8a,$01,$01,$8a,$0f,$01,$8a,$0d,$01,$8a
.byte $0b,$01,$89,$3d,$8a,$09,$01,$8a,$07,$01,$8a,$05,$01,$8a,$03,$01
.byte $89,$3c,$8a,$01,$01,$8a,$0f,$01,$8a,$0d,$01,$8a,$0b,$01,$89,$3b
.byte $8a,$09,$01,$8a,$07,$01,$8a,$05,$01,$8a,$03,$01,$89,$3a,$8a,$01
.byte $01,$8a,$0f,$01,$8a,$0d,$01,$8a,$0b,$01,$89,$39,$8a,$09,$01,$8a
.byte $07,$01,$8a,$05,$01,$8a,$03,$01,$89,$38,$8a,$01,$01,$8a,$0f,$01
.byte $8a,$0d,$01,$8a,$0b,$01,$89,$37,$8a,$09,$01,$8a,$07,$01,$8a,$05
.byte $01,$8a,$03,$01,$89,$36,$8a,$01,$01,$8a,$0f,$01,$8a,$0d,$01,$8a
.byte $0b,$01,$89,$35,$8a,$09,$01,$8a,$07,$01,$8a,$05,$01,$8a,$03,$01
.byte $89,$34,$8a,$01,$01,$8a,$0f,$01,$8a,$0d,$01,$8a,$0b,$01,$89,$33
.byte $8a,$09,$01,$8a,$07,$01,$8a,$05,$01,$8a,$03,$01,$89,$32,$8a,$01
.byte $01,$8a,$0f,$01,$8a,$0d,$01,$8a,$0b,$01,$89,$31,$8a,$09,$01,$8a
.byte $07,$01,$8a,$05,$01,$8a,$03,$01,$8a,$01,$01,$8a,$0f,$01,$8a,$0d
.byte $01,$00
@sfx_pal_1:
.byte $89,$3f,$8a,$0d,$01,$8a,$0b,$01,$8a,$09,$01,$8a,$07,$01,$8a,$05
.byte $01,$89,$3e,$8a,$03,$01,$8a,$01,$01,$8a,$0f,$01,$8a,$0d,$01,$89
.byte $3d,$8a,$0b,$01,$8a,$09,$01,$8a,$07,$01,$8a,$05,$01,$89,$3c,$8a
.byte $03,$01,$8a,$01,$01,$8a,$0f,$01,$8a,$0d,$01,$89,$3b,$8a,$0b,$01
.byte $8a,$09,$01,$8a,$07,$01,$8a,$05,$01,$89,$3a,$8a,$03,$01,$8a,$01
.byte $01,$8a,$0f,$01,$8a,$0d,$01,$89,$39,$8a,$0b,$01,$8a,$09,$01,$8a
.byte $07,$01,$8a,$05,$01,$89,$38,$8a,$03,$01,$8a,$01,$01,$8a,$0f,$01
.byte $8a,$0d,$01,$89,$37,$8a,$0b,$01,$8a,$09,$01,$8a,$07,$01,$8a,$05
.byte $01,$89,$36,$8a,$03,$01,$8a,$01,$01,$8a,$0f,$01,$8a,$0d,$01,$89
.byte $35,$8a,$0b,$01,$8a,$09,$01,$8a,$07,$01,$8a,$05,$01,$89,$34,$8a
.byte $03,$01,$8a,$01,$01,$8a,$0f,$01,$8a,$0d,$01,$89,$33,$8a,$0b,$01
.byte $8a,$09,$01,$8a,$07,$01,$8a,$05,$01,$89,$32,$8a,$03,$01,$8a,$01
.byte $01,$8a,$0f,$01,$8a,$0d,$01,$89,$31,$8a,$0b,$01,$8a,$09,$01,$8a
.byte $07,$01,$8a,$05,$01,$8a,$03,$01,$8a,$01,$01,$8a,$0f,$01,$00
@sfx_ntsc_2:
.byte $80,$bf,$81,$d5,$82,$00,$02,$81,$6a,$02,$80,$b4,$04,$80,$b8,$81
.byte $d5,$02,$81,$6a,$02,$80,$b2,$04,$00
@sfx_pal_2:
.byte $80,$bf,$81,$c6,$82,$00,$02,$81,$62,$02,$80,$b4,$03,$80,$b8,$81
.byte $c6,$02,$81,$62,$01,$80,$b2,$04,$00
@sfx_ntsc_3:
.byte $86,$81,$87,$6a,$88,$00,$01,$87,$70,$01,$87,$6a,$01,$87,$70,$01
.byte $87,$6a,$01,$00
@sfx_pal_3:
.byte $86,$81,$87,$62,$88,$00,$01,$87,$68,$01,$87,$62,$01,$87,$68,$01
.byte $87,$62,$01,$00
Loading