Chip8 constructor

Chip8({
  1. int index = 0,
  2. Uint8List? rom,
  3. int v0 = 0,
  4. int v1 = 0,
  5. int v2 = 0,
  6. int v3 = 0,
  7. int v4 = 0,
  8. int v5 = 0,
  9. int v6 = 0,
  10. int v7 = 0,
  11. int v8 = 0,
  12. int v9 = 0,
  13. int vA = 0,
  14. int vB = 0,
  15. int vC = 0,
  16. int vD = 0,
  17. int vE = 0,
  18. int vF = 0,
})

Implementation

Chip8({
  int index = 0,
  Uint8List? rom,
  int v0 = 0,
  int v1 = 0,
  int v2 = 0,
  int v3 = 0,
  int v4 = 0,
  int v5 = 0,
  int v6 = 0,
  int v7 = 0,
  int v8 = 0,
  int v9 = 0,
  int vA = 0,
  int vB = 0,
  int vC = 0,
  int vD = 0,
  int vE = 0,
  int vF = 0,
})  : memory = Uint8List(4096),
      registers = Chip8Registers(
        index: index,
        v0: v0,
        v1: v1,
        v2: v2,
        v3: v3,
        v4: v4,
        v5: v5,
        v6: v6,
        v7: v7,
        v8: v8,
        v9: v9,
        vA: vA,
        vB: vB,
        vC: vC,
        vD: vD,
        vE: vE,
        vF: vF,
      ) {
  if (rom != null) {
    memory.setRange(0x200, 0x200 + rom.length, rom);
  }

  memory.setRange(0x00, 16 * 5, fonts.fold<List<int>>([], (previous, e) => previous..addAll(e)));
}