cnrom.c 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*
  2. * CNROM Mapper - The TI-NESulator Project
  3. * cnrom.h
  4. *
  5. * Created by Manoel TRAPIER.
  6. * Copyright (c) 2003-2007 986Corp. All rights reserved.
  7. *
  8. * $LastChangedDate: 2007-04-16 01:55:35 +0200 (lun, 16 avr 2007) $
  9. * $Author: godzil $
  10. * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/cnrom.h $
  11. * $Revision: 39 $
  12. *
  13. */
  14. unsigned char cnrom_load_bank;
  15. void cnrom_MapperWriteHook(register byte Addr, register byte Value);
  16. int cnrom_InitMapper(NesCart * cart)
  17. {
  18. int i;
  19. set_prom_bank_16k(0x8000, 0);
  20. set_prom_bank_16k(0xC000, GETLAST16KBANK(cart)); /* Set the last one */
  21. cnrom_load_bank = 0;
  22. /* Register the write hook */
  23. for (i = 0x80; i < 0x100; i++)
  24. {
  25. set_page_wr_hook(i, cnrom_MapperWriteHook);
  26. set_page_writeable(i, true);
  27. }
  28. return 0;
  29. }
  30. void cnrom_MapperWriteHook(register byte Addr, register byte Value)
  31. {
  32. set_prom_bank_16k(0x8000,Value);
  33. cnrom_load_bank = Value;
  34. }
  35. void cnrom_MapperDump(FILE *fp)
  36. {
  37. fprintf(fp,"cnrom: bank:%d\n",cnrom_load_bank);
  38. }