6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Nov 10, 2024 9:32 pm

All times are UTC




Post new topic Reply to topic  [ 3 posts ] 
Author Message
 Post subject: My W65C816SXB journey
PostPosted: Mon Jun 24, 2024 9:30 pm 
Offline

Joined: Sat Jun 01, 2024 8:05 am
Posts: 9
This started as me wanting to build what could be a daily driver for text mode stuff is currently in a state of wrapping my head around all the data sheets and code... Now I have no one to share my experiences with so I am forcing it upon you, if you want to join. I'll keep this thread as a diary of sorts until I give up or it gets removed.

  • I bought an W65C816SXB. My choice were mostly influenced by the fact it is a ready made board in production -- and it has helper circuits (USB-serial, VIA PIA etc.).
  • I had a lot of problems with the software -- which ended up being version conflicts from WDC. See more here viewtopic.php?f=1&t=8087
  • The uploader that works for me can be found at https://github.com/cyberdo/wdc_uploader_term and I will update and maintain it as long as I need it.
  • I now started investigting the possibility of updating the flash. It does support self-reflashing but the documentation is... "lacking", so 2 weeks into programming assembly this I decided to do some recreational disassembly of a dump I made of the flash while investigating issues.
  • And I can not praise https://6502bench.com/ enough. It is awesome. I can change a segment into a LUT of addresses. I can create and rename labels. I can change the emulation register as I think is correct and it will re-interpret the instructions as per the correct CPU. I love it!
  • So now I have gone through the monitor and disassembled it and AFAICT it does not support re-flashing the full flash. It puts the data in RAM and there is not enough space for the full image. And it starts from 0x8000 and copies 0x7000 bytes of data -- which means it misses the reset vectors.
  • Besides that there are other things stopping execution from flash. This kind of feels like a development version.
  • So my next step is to "be inspired" by their way of erasing and uploading to the flash and make my own mid-loader. So I will start in their monitor, upload my flasher and start it, then upload the flash image and stream it to the flash chip. It should be simple enough.
  • If I can get the flash banking to work I have an idea of putting the BIOS in a hidden page and then a thin interface layer that switches page. It would allow the BIOS to be at least 32k large. I guess this is pretty much normal banking but it still feels cool (as banking does - but it might be a nightmare to come).


Top
 Profile  
Reply with quote  
PostPosted: Tue Jun 25, 2024 4:41 pm 
Offline
User avatar

Joined: Mon Aug 30, 2021 11:52 am
Posts: 287
Location: South Africa
Thanks for documenting this

cyberdo wrote:
  • So my next step is to "be inspired" by their way of erasing and uploading to the flash and make my own mid-loader. So I will start in their monitor, upload my flasher and start it, then upload the flash image and stream it to the flash chip. It should be simple enough.
  • If I can get the flash banking to work I have an idea of putting the BIOS in a hidden page and then a thin interface layer that switches page. It would allow the BIOS to be at least 32k large. I guess this is pretty much normal banking but it still feels cool (as banking does - but it might be a nightmare to come).
I'm hoping your journey continues. And I'd like to get my own W65C816SXB going again but I just don't have the expertise (or energy) at the moment.


Top
 Profile  
Reply with quote  
PostPosted: Thu Jul 04, 2024 3:52 pm 
Offline

Joined: Sat Jun 01, 2024 8:05 am
Posts: 9
Life interrupted, but I have ordered a new flash memory (I want to keep the original as a backup) and some SRAM to play with expansion, dynamic bootloading, MMU:ing and so on.

For graphics I am leaning towards an LCD with directly accessible pixels (https://www.adafruit.com/product/2050). No VGA with go-between using programmable logic, but easy direct access with pixel address and pixel data over parallel port. VGA would perhaps be nice, but then I'd rather go for DVI as I have problems finding VGA screens.

But for the time being serial is good enough.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 16 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: