Skip to content

Commit c8c7b55

Browse files
committed
Fix compilation with current Nim version
1 parent 2a2fe0d commit c8c7b55

File tree

3 files changed

+15
-13
lines changed

3 files changed

+15
-13
lines changed

src/nes/mapper1.nim

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import types
33
type Mapper1* = ref object of Mapper
44
cartridge: Cartridge
55
shiftRegister, control, prgMode, chrMode, prgBank, chrBank0, chrBank1: uint8
6-
prgOffsets, chrOffsets: array[0'u8..1'u8, int]
6+
prgOffsets, chrOffsets: array[0..1, int]
77

88
proc prgBankOffset(m: Mapper1, index: int): int =
99
var index = if index >= 0x80: index - 0x100 else: index
@@ -24,11 +24,12 @@ proc writeControl(m: Mapper1, val: uint8) =
2424
m.chrMode = (val shr 4) and 1
2525
m.prgMode = (val shr 2) and 3
2626

27-
m.cartridge.mirror = uint8(case val and 3
28-
of 0: mirrorSingle0
29-
of 1: mirrorSingle1
30-
of 2: mirrorVertical
31-
of 3: mirrorHorizontal)
27+
case val and 3
28+
of 0: m.cartridge.mirror = mirrorSingle0.uint8
29+
of 1: m.cartridge.mirror = mirrorSingle1.uint8
30+
of 2: m.cartridge.mirror = mirrorVertical.uint8
31+
of 3: m.cartridge.mirror = mirrorHorizontal.uint8
32+
else: discard
3233

3334
proc updateOffsets(m: Mapper1) =
3435
case m.prgMode

src/nes/mapper4.nim

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ type Mapper4* = ref object of Mapper
44
cartridge: Cartridge
55
nes: NES
66
register, prgMode, chrMode, reload, counter: uint8
7-
registers: array[0'u8..7'u8, uint8]
8-
prgOffsets: array[0'u8..3'u8, int]
9-
chrOffsets: array[0'u8..7'u8, int]
7+
registers: array[0..7, uint8]
8+
prgOffsets: array[0..3, int]
9+
chrOffsets: array[0..7, int]
1010
irqEnable: bool
1111

1212
proc prgBankOffset(m: Mapper4, index: int): int =
@@ -64,9 +64,10 @@ proc writeBankSelect(m: Mapper4, val: uint8) =
6464
m.register = val and 7
6565

6666
proc writeMirror(m: Mapper4, val: uint8) =
67-
m.cartridge.mirror = uint8(case val and 1
68-
of 0: mirrorVertical
69-
of 1: mirrorHorizontal)
67+
case val and 1
68+
of 0: m.cartridge.mirror = mirrorVertical.uint8
69+
of 1: m.cartridge.mirror = mirrorHorizontal.uint8
70+
else: discard
7071

7172
proc writeRegister(m: Mapper4, adr: uint16, val: uint8) =
7273
case adr

src/nes/types.nim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ type
155155

156156
Cartridge* = ref object
157157
prg*, chr*: seq[uint8]
158-
sram*: array[0x2000'u16, uint8]
158+
sram*: array[0x2000, uint8]
159159
mapper*, mirror*: uint8
160160
battery*: bool
161161

0 commit comments

Comments
 (0)