It is currently Mon Jul 15, 2019 11:59 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 260 posts ]  Go to page Previous  1 ... 8, 9, 10, 11, 12, 13, 14 ... 18  Next
Author Message
PostPosted: Sat Jul 25, 2015 5:16 pm 
Offline
User avatar

Joined: Sun Sep 19, 2004 10:52 pm
Posts: 393
Location: UT
B00daW wrote:
Hrm... Guess life made me miss the boat this time around. Another wave happening after this shipment, perhaps? :/

Really looking for a good dev environment for FDS audio. :)

You didn't miss anything, I just haven't put them up yet.


Top
 Profile  
 
PostPosted: Sat Jul 25, 2015 5:20 pm 
Offline

Joined: Fri Jul 24, 2015 2:44 pm
Posts: 11
Any chance of offering a caseless option this time around?


Top
 Profile  
 
PostPosted: Sat Jul 25, 2015 7:40 pm 
Offline
User avatar

Joined: Sun Sep 19, 2004 10:52 pm
Posts: 393
Location: UT
Very well. I'll keep it there for now.
It's back up. When Tototek.com has boards in, I'll let them handle all international (non-U.S.) orders. Tomy is away for a few days so I'll still accept international orders for now.


Last edited by loopy on Sat Jul 25, 2015 9:53 pm, edited 1 time in total.

Top
 Profile  
 
PostPosted: Sat Jul 25, 2015 7:57 pm 
Offline

Joined: Fri Jul 24, 2015 2:44 pm
Posts: 11
No more NesDev discount? :(
I was planning on dumping my paypal account. Everything's all screwy so i want to close it and open a new one. I had exactly $20 left.
Oh well, i'll get everything to work out.
Thanks!


Top
 Profile  
 
PostPosted: Sun Jul 26, 2015 10:15 pm 
Offline
User avatar

Joined: Sun Sep 19, 2004 10:52 pm
Posts: 393
Location: UT
I put up some instructions on making a cable for disk reading/writing.


Top
 Profile  
 
PostPosted: Mon Jul 27, 2015 6:29 am 
Offline

Joined: Tue Nov 23, 2004 9:35 pm
Posts: 740
Games I have been able to complete from start to finish without issue using loopy's FDSStick :

Akumajou Dracula
Dracula II: Noroi no Fuuin
Hikari Shinwa: Palutena no Kagami
Legend of Zelda 2: Link no Bouken
Metroid
Yume Koujou: Doki Doki Panic
Zelda no Densetsu: The Hyrule Fantasy

I think that is a fair endorsement for this device. Everything else I have tried works without flaw, as long as you avoid corrupted images.

_________________
Nerdly Pleasures - My Vintage Video Game & Computing Blog


Last edited by Great Hierophant on Sat Aug 01, 2015 2:46 pm, edited 1 time in total.

Top
 Profile  
 
PostPosted: Mon Jul 27, 2015 2:01 pm 
Offline

Joined: Mon Oct 21, 2013 11:32 pm
Posts: 18
thx loopy.
just recieved ram adapter and test fdsstick.
all working fine.
Video test (Russian) https://youtu.be/6Zig-WYx9oI


Top
 Profile  
 
PostPosted: Wed Jul 29, 2015 12:17 pm 
Offline

Joined: Tue May 28, 2013 5:49 am
Posts: 1177
Location: Hokkaido, Japan
It may be an idea to try Puroresu with your RAM Adapters. I remember there was a discussion of possibly faulty SRAM chips in certain RAM Adapters and this was one of the games where it's clearly visible displaying glitchy sprites.

I don't know if the cause was ever figured out.


Top
 Profile  
 
PostPosted: Wed Jul 29, 2015 1:20 pm 
Offline

Joined: Tue Nov 23, 2004 9:35 pm
Posts: 740
Pokun wrote:
It may be an idea to try Puroresu with your RAM Adapters. I remember there was a discussion of possibly faulty SRAM chips in certain RAM Adapters and this was one of the games where it's clearly visible displaying glitchy sprites.

I don't know if the cause was ever figured out.


I do not know of any images of diagnostics disks that would test all the RAM. Some versions of the RAM Adapter use DRAM instead of SRAM, at least for the PRG area.

_________________
Nerdly Pleasures - My Vintage Video Game & Computing Blog


Top
 Profile  
 
PostPosted: Wed Jul 29, 2015 4:16 pm 
Offline

Joined: Sun Mar 19, 2006 9:44 pm
Posts: 998
Location: Japan
This doesn't "test" any of the CHR-RAM, but I made a small program (.FDS image) a long time ago that tests the FDS RAM from $6000-$DFFF:

http://www.chrismcovell.com/data/RAM_Ch ... 0-DFFF.zip

When it starts up, it'll show "CC", meaning "ready".

Press the A button and nothing will appear to happen, but it's testing all addresses with values from $00-$FF to see if the read matches the write. It'll print up RRWWAAAA (AAAA being the address where the error was found) if there is a mismatch.

After a minute or so, the screen will go grey meaning the test is complete.

_________________
http://www.chrismcovell.com


Top
 Profile  
 
PostPosted: Wed Jul 29, 2015 4:46 pm 
Offline

Joined: Tue May 28, 2013 5:49 am
Posts: 1177
Location: Hokkaido, Japan
Maybe someone should make one for CHR. I have looked into making FDS programs and I managed to make an emulator accept my FDS image but, my program doesn't work. I've looked into your FDS homebrew sources but I can't understand them, you compiled it in a strange way that I can't make any sense of.

This is what I got to load at least:

Header:
Code:
;Famicom Disk System program template
;By Pokun
;
;Assembles in ASM6

;FDS Disk Image
;1 side (64 kB)

;===============================================================================
; Constants
;===============================================================================
;Header constants
REVISION = $00 ;revision number used in the header (starts at 0)
SIDE_COUNT = $01 ;number of disk sides (1, 2, 4...)
FILE_COUNT = $02 ;total number of non-hidden files on disk
;(if additional files are added they are hidden)

;FDS defines
FDS_CRAM = $0000 ;where CHR-RAM starts
FDS_PRAM = $6000 ;where PRG-RAM starts
FDS_BIOS = $E000 ;where the BIOS resides

;===============================================================================
; Variables
;===============================================================================
;Zero Page ($0000-$00FF)
  .enum $0000
 
  .ende
;Page 1 ($0100-$01FF)
;(Stack)

;Page 2 ($0200-$02FF)
;(Shadow OAM)

;Page 3-7 ($0300-$07FF)
  .enum $0300
 
  .ende

;===============================================================================
; fwNES FDS header (optional)
;===============================================================================
;16 byte header for the .FDS Quick Disk format

  .org $0000
;  .db "FDS", $1A ;identification of the fwNES header
;  .db SIDE_COUNT ;number of disk sides
;  .pad 16, $00 ;clear the remaining bytes
;HEADEROFFSET = $ ;add this to adjust for the header offset


;Note about blocks
;Each disk side must be structured into blocks as follows:
;First a disk header block and a file amount block then one file header block
;and one file data block for each file on the disk. Finally the disk sides ends
;with an end of disk side indicator (?). Each block has a block code:
;$01 = Disk Header Block
;$02 = File Amount Block
;$03 = File Header Block
;$04 = File Data Block

;$FF = End of Disk Side Indicator

;From the last file, fill the side with zeroes so that the disk side gets
;exactly 65500 bytes.

;On real disks there are also gaps and CRCs not present in
;FDS images. These must also be considered when calculating true
;disk capacity. The actual disc capacity in bytes is:
;65500 - 28300/8 - (2*N + 1)*(16 + 976)/8
;N = number of files

;===============================================================================
; Disk Side 1 (65500 byte)
;===============================================================================

;Disk Header Block
  .db $01 ;Block code (1 = disk header block)
  .db "*NINTENDO-HVC*" ;Used by BIOS to verify legitimate image.
  .db $00 ;Maker code, $00 is unlicensed, $01 is Nintendo $08 is Capcom...
  .db "HMB" ;3-letter ASCII code for title (e.g. LNK for Zelda Densetsu)
  .db " " ;Game type
  ;$20 = " " — Normal disk
  ;$45 = "E" — Event (e.g. Japanese national DiskFax tournaments)
  ;$52 = "R" — Reduction in price via advertising
  .db REVISION ;Revision number (starts at $00, increments per revision)
  .db $00 ;Side number
  ;$00 = Side A, $01 = Side B. Single-sided disks use $00
  .db $00 ;Disk number (first disk is $00, second is $01, etc.)
  .db $00 ;Disk type
  ;$00 = FMC ("normal card"), $01 = FSC ("card with shutter")
  .db $00 ;Unknown
  .db $0F ;Boot read file code (file code/number to load upon boot)
  .db $FF,$FF,$FF,$FF,$FF ;Unknown
  .db $00,$00,$00 ;Manufacturing date (BCD, Shouwa format)
  .db $49 ;Country code ($49 = Japan)
  .db $61 ;Unknown
  .db $00 ;Unknown
  .db $00,$02 ;Unknown
  .db $00,$00,$00,$00,$00 ;Unknown
  .db $00,$00,$00 ;"Rewritten disk" date (supposedly by the Disk Writer)
  .db $00 ;Unknown
  .db $80 ;Unknown
  .db $00,$00 ;Disk Writer serial number
  .db $07 ;Unknown
  .db $00 ;Disk rewrite count (value in BCD, $00 = Original (no copies))
  .db $00 ;Actual disk side ($00 = Side A, $01 = Side B)
  .db $00 ;Unknown
  .db $00 ;Price
  ;.db $00,$00 ;CRC - Not used in the .fds file format.

;Disk sides note
;If the FDS is started with a disk whose side number and disk number
;aren't both $00, it will be prompted to insert the first disk side.
;However, some games make this number $00, even for the second disk
;to make it bootable too.


;File Amount block
  .db $02 ;Block code (2 = file amount block)
  .db FILE_COUNT ;Total number of files recorded on disk
;If more files exist on disk they will be considered hidden and the
;BIOS will ignore them. A loading routine on disk is required to
;load them.

;File codes note
;All files with IDs smaller or equals to the boot read file code
;will be loaded when the game is booting.

;-------------------------------------------------------------------------------
;File "KYODAKU-"

;The first file on the disk must be the "KYODAKU-" file (approval in Japanese)
;that contains the message that scrolls up on screen ("THIS PRODUCT
;IS MANUFACTERED AND SOLD BY NINTENDO...") at boot, and must match
;the same data in the BIOS at $ED37. It's a nametable type of file that is
loaded into PPU $2800.

;File Header Block
  .db $03 ;Block code (3 = file header block)
  .db $00 ;File Number, must go in increasing order, first file is 0
  .db $00 ;File ID
  ;ID specified at disk-read function call
  ;This is the number which will decide which file is
  ;loaded from the disk (instead of the file number).
  ;An ID smaller than the boot number means the file is
  ;a boot file, and will be loaded on first start up.
  .db "KYODAKU-" ;File Name (8 uppercase ASCII characters)
  .db $00,$28 ;File Destination Address (16-bit little endian)
  .db $E0,$00 ;File Size (16-bit little endian)
  .db $02 ;File Type
  ;0:Program (PRAM)
  ;1:Character (CRAM)
  ;2:Nametable (VRAM)


;File Data Block
  .db $04 ;Block code
  .incbin "KYODAKU-.BIN" ;file data

;-------------------------------------------------------------------------------
;File "MAINGAME"

;This file contains the main program and data.

;File Header Block
  .db $03 ;Block code
  .db $01 ;File Number
  .db $01 ;File ID
  .db "MAINGAME" ;File Name (8 uppercase ASCII characters)
  .dw FDS_PRAM ;Where to load file to (16-bit little endian)
  .dw (MainGameEnd - MainGameStart) ;File Size (16-bit little endian)
  .db $00 ;File type
  ;0:Program (PRAM)
  ;1:Character (CRAM)
  ;2:Nametable (VRAM)


;File Data Block
  .db $04 ;Block code
MainGameStart:
  .include "MAINGAME.650" ;file data
MainGameEnd:

;-------------------------------------------------------------------------------
;End of Disk Side 1
  .db $FF ;End of disk side indicator
  .pad 65500, $00 ;zero out rest of disk
 
;-------------------------------------------------------------------------------
;Next disk side goes here.



"KYODAKU-" File
Code:
;File "KYODAKU-" data

HEX 24 24 24 24 24 24 24 24 24 24 24 17 12 17 1D 0E
HEX 17 0D 18 24 28 24 24 24 24 24 24 24 24 24 24 24
HEX 24 24 24 24 24 24 24 0F 0A 16 12 15 22 24 0C 18
HEX 16 19 1E 1D 0E 1B 24 1D 16 24 24 24 24 24 24 24
HEX 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24
HEX 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24
HEX 24 24 1D 11 12 1C 24 19 1B 18 0D 1E 0C 1D 24 12
HEX 1C 24 16 0A 17 1E 0F 0A 0C 1D 1E 1B 0E 0D 24 24
HEX 24 24 0A 17 0D 24 1C 18 15 0D 24 0B 22 24 17 12
HEX 17 1D 0E 17 0D 18 24 0C 18 27 15 1D 0D 26 24 24
HEX 24 24 18 1B 24 0B 22 24 18 1D 11 0E 1B 24 0C 18
HEX 16 19 0A 17 22 24 1E 17 0D 0E 1B 24 24 24 24 24
HEX 24 24 15 12 0C 0E 17 1C 0E 24 18 0F 24 17 12 17
HEX 1D 0E 17 0D 18 24 0C 18 27 15 1D 0D 26 26 24 24

;Translates to this in SMB/Zelda encoding:
;"           NINTENDO R           "
;"       FAMILY COMPUTER TM       "
;"                                "
;"  THIS PRODUCT IS MANUFACTERED  "
;"  AND SOLD BY NINTENDO CO,LTD.  "
;"  OR BY OTHER COMPANY UNDER     "
;"  LICENSE OF NINTENDO CO,LTD..  "


And my "MAINGAME" file looks something like this:
Code:
;File "MAINGAME" data

;-------------------------------------------------------------------------------
NMI:
  rti

;-------------------------------------------------------------------------------
RESET:

;I think BIOS initalize it so there's not much init code needed.

;I tried to play some sound here but nothing happened.

Main:
  jmp Main

;-------------------------------------------------------------------------------
IRQ
  rti

;===============================================================================
; Interrupt Vector Table
;===============================================================================
  .org $DFF6
  .dw NMI
  .dw RESET
  .dw IRQ

;-------------------------------------------------------------------------------



I suppose with the FDSStick we will finally see some more FDS homebrew again though. :)


Top
 Profile  
 
PostPosted: Wed Jul 29, 2015 5:56 pm 
Offline

Joined: Sun Mar 19, 2006 9:44 pm
Posts: 998
Location: Japan
I generally have this code so that my program doesn't suddenly reset to the FDS menu on NMI, IRQ, or reset:

Code:
FDS_HOOK
   pha
   lda   #$C0
   sta   $0100
   lda   #$80
   sta   $0101
   lda   #$35
   sta   $0102
   lda   #$53
   sta   $0103
   pla
   rts


And perhaps this will help too?
Code:
   .org $DFF6
   .dw NMI_SUB
   .dw NMI_SUB
   .dw NMI_SUB
   .dw Reset_SUB
   .dw IRQ_SUB

You didn't have enough vectors in the right place.

_________________
http://www.chrismcovell.com


Top
 Profile  
 
PostPosted: Wed Jul 29, 2015 8:39 pm 
Offline
User avatar

Joined: Thu Jan 03, 2008 1:48 pm
Posts: 583
Don't have the device yet...

Is the dumping ability able to do RAW disk image dumps as well as FDS ripped format?

Would be nice to finally get a RAW redump of as many things as possible and have emulators support the RAW format...


Top
 Profile  
 
PostPosted: Wed Jul 29, 2015 9:33 pm 
Offline
User avatar

Joined: Sun Sep 19, 2004 10:52 pm
Posts: 393
Location: UT
Yes, it can do raw dumps. There are different levels of "raw-ness" here. It can read out the timing of pulses on the data pin, from the flux transitions on the disk. That's as low level as anyone would care to go. With that, you can possibly recover disks that normally fail to read, though it might take some manual intervention or writing your own tools.

From there, it also tries to decode to a binary image (what an emulator would prefer to use). This is trickier than you might think, there is some guesswork in figuring out the clock phase and byte alignment. Between files there are discontinuities in the bitstream so you tend to lose your place a lot. (Alignment's not strictly necessary but it makes things more readable). The software does a pretty good job at this but there is room for improvement.

It can also read directly to .FDS. The process above is simplified, since it can make more assumptions about how the data is formatted.


Top
 Profile  
 
PostPosted: Thu Jul 30, 2015 4:17 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 7524
Location: Canada
Just tried this out. Works great!

Took me a moment to realize I have to press twice for side 2. ;)

Later I'm gonna have to figure out how to build FDS files to play some music on it!


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 260 posts ]  Go to page Previous  1 ... 8, 9, 10, 11, 12, 13, 14 ... 18  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group