unrom.c 1010 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * UNROM Mapper - The peTI-NESulator Project
  3. * unrom.h
  4. *
  5. * Created by Manoel TRAPIER.
  6. * Copyright (c) 2003-2018 986-Studio. All rights reserved.
  7. *
  8. * $LastChangedDate$
  9. * $Author$
  10. * $HeadURL$
  11. * $Revision$
  12. *
  13. */
  14. #include "unrom.h"
  15. unsigned char unrom_load_vbank;
  16. void unrom_MapperWriteHook(byte Addr, byte Value);
  17. int unrom_InitMapper(NesCart * cart)
  18. {
  19. int i;
  20. set_prom_bank_16k(0xC000, 0);
  21. set_prom_bank_16k(0x8000, GETLAST16KBANK(cart)); /* Set the last one */
  22. if (Cart->VROMSize > 0)
  23. set_vrom_bank_8k(0x0000,0);
  24. unrom_load_vbank = 0;
  25. /* Register the write hook */
  26. for (i = 0x80; i < 0x100; i++)
  27. {
  28. set_page_wr_hook(i, unrom_MapperWriteHook);
  29. set_page_writeable(i, true);
  30. }
  31. return 0;
  32. }
  33. void unrom_MapperWriteHook(byte Addr, byte Value)
  34. {
  35. set_vrom_bank_8k(0x0000,Value);
  36. unrom_load_vbank = Value;
  37. }
  38. void unrom_MapperDump(FILE *fp)
  39. {
  40. fprintf(fp,"unrom: vbank:%d\n",unrom_load_vbank);
  41. }