Comments (9)
Have contacted xesscorp to ask about this problem, and if they are willing to relicense under LGPL.
from c65gs.
All the machinery is now there, it just doesn't work. Reading a sector reports an error, but sd_error doesn't seem to get loaded.
Also there are some nasty warnings about CE/CS lines during synthesis.
from c65gs.
The above commit (f89a736) fixes some doozy bugs that would certainly have prevented the SD card commands from being accepted. Hopefully it will get it working. There remains an issue where the sector buffer remains mapped, regardless of the value of sector_buffer_mapped. This may be related to the nasty synthesis warnings that need to be addressed.
from c65gs.
Okay, we now can read the R1 code from the sd controller, but it is saying $05 = illegal command + idle. This may be because the card I am using is SD not SDHC. Changing mode and trying again.
from c65gs.
Will switch from using Xess sdcard module to the apparently freely usable code by Steve Merrifield in an attempt to resolve all of the world of hurt and pain that I have experienced with ISE + Xess code + my code. It is hard to workout where the cause of the problem is. In any case, using the free code will avoid having to wait for Xess to LGPL the code before I can release the complete code or an FPGA binary.
from c65gs.
With the above commits it is now possible to read from the SD card, but writing fails. Also need to confirm that CRC byte fix has worked, and that the whole 512 bytes get read in. Then need to debug why writing isn't working.
from c65gs.
Okay. After a lot of mucking around, the sdcard controller is merged into master. It almost, but not quite works. Basically reading a sector reads some of it, but misses most of the bytes.
from c65gs.
Missed byte was caused by SPI FSM in sdcontroller only running when no fastio accesses were in progress. As kernel and basic currently run from fastio, this bug showed up. The behaviour was added in to prevent dual-port ram complaints raised by xst when using the xess sd controller code. As that investigation showed that the sector buffer could in fact be dual port, we can change this behaviour. In fact, we can avoid dual-port by making the sector buffer only accessible when the busy flag is clear in the sdcontroller status register ($D680 bit 0 for now). This is what commit cb88917 above does. Now building to test if it fixes the problem.
from c65gs.
Reading from SDcard now works. Writing is untested, but may work, which can be the subject of another issue.
from c65gs.
Related Issues (20)
- SD card controller should provide F011 emulation registers at $D080 HOT 2
- CPU IPC is low: implement i-cache HOT 1
- Need a kickstart ROM to load C65 ROM from microSD card and run it. HOT 2
- Executing from FastIO ROM has problems HOT 7
- CPU IPC is low: eradicate fastram wait-state on read HOT 1
- Kickstart should try SDHC mode only when first reading a sector >2G
- 4502 interrupts should not occur after one cycle instructions
- Need DMAgic implemented to boot C65 ROM HOT 1
- CIAs lack serial port HOT 1
- IRQs are being triggered at odd times when they are fully masked HOT 5
- SD card reads sector into buffer rotated by one byte HOT 1
- DMAgic fill is filling with the low-order address of the list instead of the fill value HOT 2
- Sprites can still appear in front of the border
- Artifact in text mode
- C65 / VIC-III bitplanes don't work
- C65 BASIC Graphics demos don't work HOT 44
- ghdl_farstack not recoginized as RAM with vivado synthesis HOT 1
- unsigned(r_blnd) => antialiased_red, HOT 6
- c54uart multi-driven net HOT 1
- sd card interface logic and kickstart routines presupposes a block size of 512 byte HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from c65gs.