Commit Graph

8 Commits

Author SHA1 Message Date
Paul Molloy pinkASUS fe04496cfb Flashing NROM PRG-ROM working but unstable.
Not sure how I thought flash operations were previously working as there
were many bugs I had to correct to support flash operations properly.
Operations module appears to be working so far, still need to pass
functions to operation module.
Flash operations verify PRG-ROM 32KB writes working with file comparison.
Currently dependent on extra buffer status reads to delay next buffer.
I think the write operation is taking longer than the usb load operation.
Potentially due to slow code of operation module, but also possible I
had only been testing with slow eeepc linux machine previously.  Perhaps
combination of both.

Still need to correct issue so added buff status delays aren't needed.
buffer manager should be able to key off of status==USB_FULL but that
doesn't seem to work.  When trying I don't always get the same number of
buffers to get flashed so appear to have a race condition or something
not properly intialized..?

Need sort out sending of USB STALL if buffer isn't ready to be loaded yet.

This commit is mainly for documentation/reference purposes as things are
kind of working, but buggy/unstable.

AVR Memory Usage
----------------
Device: atmega164a

Program:    6486 bytes (39.6% Full)
(.text + .data + .bootloader)

Data:        679 bytes (66.3% Full)
(.data + .bss + .noinit)
2017-02-13 11:49:57 -06:00
paul eeepc c2359e67a5 Dumps offically working for PRG-ROM on NROM!!!
Found bug with setting map_n_part due to >/< instead of >=/<= for setting called_buff...
Was also setting mem_type and part backwards in dump.c
The had issues with usb timing out for more than 1 buffer read back
Problem was due to lack of usbPoll while dumping during double buffering
Adding usbPoll to page read to correct issue

Appears to be issue with dumping first byte of this choplifter cart I'm testing with.
Not so certain it's my bug though..  No matter what I do the first byte reads
back 0x78 and copy I downloaded has 0x00.  Setting my first byte to 0x00 also
creates proper CRC32 according to bootgod's database.  So need to look into this more
to figure out what's going on.
2016-12-12 00:38:01 -06:00
paul eeepc a89caf2454 Detecting some flash carts including NROM and UNROM.
Using CHR-RAM sensing, and flash manf/prod ID based on PRG-ROM banking

fixing bug in firmware for ppu writes was ANDing in /A13 instead of ORing..

adding datasheets to hardware folder for 5v PLCC and 3v TSOP flash used on all flash boards
2016-12-08 21:52:47 -06:00
Paul Molloy fe1b0e0ba5 AVR Memory Usage
----------------
Device: atmega164a

Program:    4092 bytes (25.0% Full)
(.text + .data + .bootloader)

Data:        445 bytes (43.5% Full)
(.data + .bss + .noinit)

upgraded windows machine to avr-gcc (GCC) 6.1.1 20160627
dropped .hex down to within 2 bytes of linux machine running 4.8.2

changed main to remove avr-gcc 6.1.1 warnings
2016-11-28 22:53:12 -06:00
Paul Molloy 52ef11c7e3 AVR Memory Usage
----------------
Device: atmega164a

Program:    4186 bytes (25.5% Full)
(.text + .data + .bootloader)

Data:        445 bytes (43.5% Full)
(.data + .bss + .noinit)

buffer allocation basic operations tested and working great.
Still need to update windows machine avr-gcc..
implemented with 8 buffers and 256 raw buffer
2016-11-28 20:45:46 -06:00
Paul Molloy c36313135e Initial firmware implementation of buffer objects and raw sram allocation
complete.  should be able to allocate buffers from host, but haven't got
to testing it yet.  Compiling on firmware though..
Currently have 256 bytes of raw_buffer, and 8 buffer objects/structs
each with ~16 bytes per object.  So could trim things down, but still have
decent amount of SRAM left.  Could have another 256 byte buffer at this
rate..  but might not leave enough SRAM for temporary routines.

Possible that raw buffer space could be dynamically allocated
as either buffer space or temporary routine space...

AVR Memory Usage
----------------
Device: atmega164a

Program:    4094 bytes (25.0% Full)
(.text + .data + .bootloader)

Data:        573 bytes (56.0% Full)
(.data + .bss + .noinit)
2016-11-28 02:01:14 -06:00
paul eeepc cd6378b8c5 SNES dictionary creation, addition of NES cpu/ppu read/writes
cleaned up firmware pinport.h used PURPLE/GREEN KAZZO for all #ifdef's

AVR Memory Usage
----------------
Device: atmega164a

Program:    3404 bytes (20.8% Full)
(.text + .data + .bootloader)

Data:         53 bytes (5.2% Full)
(.data + .bss + .noinit)

final kazzo design hex commited as comparable build to the past two commits of green/purple.
So this .hex commit is apples to apples with recently commited purple/green .hex commits.
2016-11-27 15:32:36 -06:00
paul eeepc bfff2b0fdd AVR Memory Usage
----------------
Device: atmega164a

Program:    3404 bytes (20.8% Full)
(.text + .data + .bootloader)

Data:         53 bytes (5.2% Full)
(.data + .bss + .noinit)

moving main.hex to include pcb version number.

hex includes snes read/write dictionary additions, but still untested.
code updates for this .hex are in commit to follow shortly.

Noticed avr-gcc version 4.8.2 on linux pc is compiling significantly smaller than
avr-gcc version 4.3.3 on windows PC.  Need to update so hopefully getting
identical builds on both of my machines.
2016-11-27 13:28:24 -06:00