Difference between revisions of "Minimig Board v1.0 mcu firmware"

From OpenCircuits
Jump to navigation Jump to search
(→‎main.c: User interface - User())
(→‎main.c: directory[])
Line 24: Line 24:
  
 
== main.c ==
 
== main.c ==
:PIC Hardware init.
+
directory[] filled with filenames from the SD/MMC flashcard.<br>
:SD-Card init.
+
 
:Check for FAT16 card present.
+
PIC Hardware init.
:Configure FPGA.
+
SD-Card init.
:Load kickstart.
+
Check for FAT16 card present.
:Continously check for FPGA commands and run them.
+
Configure FPGA.
::main()
+
Load kickstart.
:User interface. Controlled via up, down, select, menu commands received from OsdGetCtrl()
+
Continously check for FPGA commands and run them.
::User()
+
:main()
:Insert floppy image pointed to to by global <file> into <drive>
+
User interface. Controlled via up, down, select, menu commands received from OsdGetCtrl()
::InsertFloppy( drive )
+
:User()
:Commands::Get track status, Read track, Write track
+
Insert floppy image pointed to to by global <file> into <drive>
::HandleFpgaCmd(c1,c2)
+
:InsertFloppy( drive )
:Transfer rom image from MMC to FPGA
+
Commands::Get track status, Read track, Write track
::ReadRom()
+
:HandleFpgaCmd(c1,c2)
:Read track to FPGA.
+
Transfer rom image from MMC to FPGA
::ReadTrack(drive)
+
:ReadRom()
:Write track from FPGA.
+
Read track to FPGA.
::WriteTrack(drive)
+
:ReadTrack(drive)
:Open a file
+
Write track from FPGA.
::Open(name)
+
:WriteTrack(drive)
:Send sector data to FPGA. Translates into Amiga floppy format sector. No insertion of clock bits.
+
Open a file
::SectorToFpga(sector,track)
+
:Open(name)
 +
Send sector data to FPGA. Translates into Amiga floppy format sector. No insertion of clock bits.
 +
:SectorToFpga(sector,track)
  
 
== osd.c ==
 
== osd.c ==

Revision as of 06:22, 24 August 2007

ata18.c

Read single block (with block-size set by CMD16 to 512 by default)
AtaReadSector( lba, ReadData )
Write: 512 Byte-Mode, this will not work (read MMC and SD-card specs) with any other sector/block size then 512
AtaWriteSector( lba, WriteData )

fat1618_2.c

Card present check. If present check valid FAT16 primary partition.
FindDrive2()
Scan directory
FileSearch2(file, mode)
Point to next sector in file
FileNextSector2(file)
Read sector into buffer
FileRead2(file)

hardware.c

Disable A/D, Setup ports, Serial 115200 bps
HardwareInit()
Send SPI?
SPI(byte)
Send byte to FPGA configuration
ShiftFpga(data)

main.c

directory[] filled with filenames from the SD/MMC flashcard.

PIC Hardware init. SD-Card init. Check for FAT16 card present. Configure FPGA. Load kickstart. Continously check for FPGA commands and run them.

main()

User interface. Controlled via up, down, select, menu commands received from OsdGetCtrl()

User()

Insert floppy image pointed to to by global <file> into <drive>

InsertFloppy( drive )

Commands::Get track status, Read track, Write track

HandleFpgaCmd(c1,c2)

Transfer rom image from MMC to FPGA

ReadRom()

Read track to FPGA.

ReadTrack(drive)

Write track from FPGA.

WriteTrack(drive)

Open a file

Open(name)

Send sector data to FPGA. Translates into Amiga floppy format sector. No insertion of clock bits.

SectorToFpga(sector,track)

osd.c

Write string to OSD
OsdWrite(n,s)
Clear buffer
OsdClear()
Enable OSD
OsdEnable()
Disable OSD
OsdDisable()
Get key
OsdGetCtrl()