6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Thu Sep 26, 2024 10:09 pm

All times are UTC




Post new topic Reply to topic  [ 684 posts ]  Go to page Previous  1 ... 37, 38, 39, 40, 41, 42, 43 ... 46  Next
Author Message
 Post subject: Re: Introduce yourself
PostPosted: Tue Nov 16, 2021 6:49 pm 
Offline
User avatar

Joined: Mon Aug 30, 2021 11:52 am
Posts: 287
Location: South Africa
Hey all, just thought I'd pop in and introduce myself. I'm Andrew and I'm from sunny South Africa.

I've already posted a bunch of stuff about simulating the 65816 using Logisim; that's basically complete now and a part of the reason I've not posted much since. The other reason I've gone a bit quiet is, well, the South African thing. We're currently under rotational loadshedding (rolling national blackouts) which means I have to carefully pick what I spend my electricity time on. Unfortunately posting to forums is kinda low on my list of things.

Anyway, corruption and mismanagement aside...

A bit back (I think it was the middle of the year during one of the lockdowns) I decided I wanted to build a 65816 based computer. This was largely inspired by the Commander X16, a project that I've been following keenly since its inception but ultimately a project that just doesn't resonate with me like it used to*. I still think both the Commander X16 and it's VERA graphics chip are amazing pieces of work and I'm absolutely in line to get one when it is released.

My first goal was to learn to do surface mount soldering. Something I've never tried before but it's now something I find so much less tedious than through hole soldering. Like, seriously, why did I ever fear it?

My second goal was to learn to use the Raspberry Pico and then use it to emulate components I haven't yet designed or built. This has proven really useful and pretty painless.

My third goal is to fully simulate the computer I want to build using Logisim. That simulation is largely done and turned up a number of timing issues that I would not have noticed otherwise.

My "fourth" goal is to quickly code up a C++ compiler for the 65816. Not quite as insane as it sounds. Many years ago I wrote up a C++03 parser / AST that I have only used for aspecting my own projects, It's not standard compliant which is probably a good thing. What with the C++ standard being a ... mess.

Unfortunately load-shedding is imminent so I'm going to have to write this up as a two-parter but what I'd like to do is bring a 65816 specific C++like compiler with assembler to the community; and I'll have to get into why in the second part.

*see also: not invented here


Top
 Profile  
Reply with quote  
 Post subject: Re: Introduce yourself
PostPosted: Thu Nov 18, 2021 1:50 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10938
Location: England
Thanks for part 1 of your intro, Andrew! It would be interesting to hear how you got started with microprocessors, or specifically the 6502 family. Or indeed, with computers or electronics.


Top
 Profile  
Reply with quote  
 Post subject: Re: Introduce yourself
PostPosted: Sat Nov 27, 2021 6:25 pm 
Offline

Joined: Sat Aug 14, 2021 6:04 pm
Posts: 10
Hi folks. I'm Willis Blackburn. I guess I'm a member of the "6502 generation" since grew up with the original batch of 6502-based home computers. My family had the Atari VCS, and we bought an Atari 800 when it was fairly new. I played Star Raiders and wrote code in BASIC. I had the Atari Assembler Editor cartridge that I used to write some small page 6 routines that I called from BASIC.

I started working as a software engineer around the time that 8-bit machines were fading away. The company I worked for was still developing a few titles for the Apple II series, because schools had them and Apple was still selling the IIgs, but I was working on PCs.

Like many of you, I became re-interested in the 6502 through Ben Eater's videos. For me the one about building a video board using TTL logic chips was the most interesting. The 6502-based machines of the 1970s and 1980s were differentiated by their video and sound capabilities: Atari had ANTIC and POKEY, the Commodore 64 had VIC-II and SID, even the relatively primitive Apple II had Woz's video circuit. Inspired by the Ben Eater video, I thought it would be fun to build some video and sound hardware, then build a retrocomputer around that. But I'm not using TTL logic; it's all in Verilog and running on a Digilent Basys 3 board. I'm using the Arlet Ottens 6502. It turns out that it's really a lot of work to develop a computer from scratch, even with modern tools (who knew?), so I don't know if I'll ever finish, but it's been fun so far.


Top
 Profile  
Reply with quote  
 Post subject: Re: Introduce yourself
PostPosted: Sat Nov 27, 2021 7:13 pm 
Offline

Joined: Sun Sep 19, 2021 11:21 am
Posts: 23
Hi, Willis.

Hello, and welcome to 6502.org. I'm only an electronics/6502 builder noob myself, but there will be some 6502 veterans about soon. Like you, I did some 6502 programming back in my youth.

I wish you all the best with your build ambitions. I have wondered for quite some time the best way to get video out of my breadboard 6502 but I feel there is no easy solution for the technically challenged like myself, so it is always interesting to see how others attempt to approach it.


Top
 Profile  
Reply with quote  
 Post subject: Re: Introduce yourself
PostPosted: Tue Dec 07, 2021 3:51 pm 
Offline
User avatar

Joined: Mon Aug 30, 2021 11:52 am
Posts: 287
Location: South Africa
BigEd wrote:
Thanks for part 1 of your intro, Andrew! It would be interesting to hear how you got started with microprocessors, or specifically the 6502 family. Or indeed, with computers or electronics.
Of course! But first I have to take you a little further down the garden path...

My background is very much in software with a bit of dabbling in microcontrollers over the years. And therein lies the problem; I've realised I don't like writing in assembly anymore. It's too far away from the abstract concepts I'm used to using in my day-to-day work. I think there has to be a happy middle ground for programming microprocessors. Something that's easier than assembly but faster than, say, python. Some people might say that that happy middle ground is C. And I'd have to agree with them. Except that I've spent probably 2 decades writing and refining some really optimised general purpose libraries... in C++.

And that's the thing; some of the libraries I've written are perfectly suited to writing a kernal* for a small memory constrained microprocessor. I really don't want to lose that work, or at least not have it available.

And so, even if it is going to take me a year or two, it's still worth it for me to write a C++ compiler for the 65816 if that allows me to use the years and years of code I've written previously. Another fairly strong motivation is I want a compiler that can run on a 65816 (rather than being a cross compiler).

And that brings me nicely to how I ended up writing the above libraries. Back when I was younger I thought it would be wonderful to write games for a living. This was the late nineties / early two thousands** and I landed myself a job writing utilities for XBox, Playstation 2 and the GameCube. All of which would be considered pretty memory constrained now. C++ compiler support was also a bit spotty back then (particularly for the Playstation 2 and the GameCube) and as such we were only allowed to use a very limited subset of C++.

There was almost no collection support when I arrived and through a series of coincidences that's what I ended up writing and specialising in. Admittedly my implementations back then could be best described as 'awful' - but as happens - I later left the game industry and took a lot of the lessons and ideas I had learned with me. I then spent quite a few years in the retro-remakes community and also generally writing games as a hobby where I refined those ideas and implementations.

The remakes I notably worked on were: Harrier Attack (from the Commodore 64); I still occasionally do a tiny bit of work on it. IO (also from the 64), this actually was completed before I lost the source but fortunately a friend found a backup a year or two ago. Project Firestart (yup, C64) but lost to time. Creatures 2, also lost to time. (I was so bad at backing things up back then). And lastly Space Crusade, a remake that I will hopefully finish one day.

And at this point anyone who has made it this far down the path with me will have started to see a pattern.

I grew up with the Commodore 64, it left a definite mark on my psyche. It's responsible for getting me into programming and gaming. There was something amazing about being able to give a computer commands and see it actually do something. Even if it was just BASIC and Logo at first. Then (like most people here I'd imagine) I moved onto 6502 assembly. And, as they say, the rest is history; that background in how computers work at a low level got me into the gaming industry and it's shaped how I develop nowadays - though that's now on servers with sometimes hundreds of gigabytes of RAM in the financial world.

Ultimately I've come back to the 65816 because I find modern hardware too complicated. I'm too far away from it and I no longer understand it. Abstractions are great, and necessary but, as I mentioned, there has to be a reasonable middle ground.

* Yes, I know. I'm keeping it.
** When the game development industry was but a shadow of the toxic mess it is now.


Top
 Profile  
Reply with quote  
 Post subject: Re: Introduce yourself
PostPosted: Thu Jan 13, 2022 9:32 pm 
Offline

Joined: Tue Jan 11, 2022 5:56 pm
Posts: 17
I came here to introduce myself and my intro looked more like a reply/discussion, so I have edited the post.

Hello all, I've popped in here now and then over the years trying to find answers to questions about the 6502 or just reading for fun. Finally decided to join.

Way back in the 80s we got Apple IIe computers at school and from the moment I laid eyes on them I was hooked for life. Ended up with a C64 at home. Spent many long, long nights writing BASIC or assembly when I should have been sleeping, doing homework, or studying. It was exciting to be able to make the computer do what I wanted, and understanding everything about it down to the hardware level fascinated me.

We didn't have much money growing up so I was used to fixing anything I had that was broken, or making what I could. I have no idea how my parents afforded the Commodore but I begged for so long until they made it happen. In the mean time I would check out piles of Compute! magazine and other books and stuff from the library and read everything I could. Since I was used to opening everything I had to see how it worked inside, it was just natural to do the same with the C64. When I was in high school I actually got another C64 system (original style, mine was actually a 64C) from a friend who got rid of his - it broke shortly after taking possession of it and I was able to diagnose the problem as a bad PLA and fixed it.

All this lead to me wanting to build my own computer. The C64 came with a schematic, and from looking at it I thought it seems feasible to build my own! I went to the library in my teens and looked for books on building your own computer. All I found were books on putting together PC parts. Imagine if we had the Internet back then. So much time was spent trying to do what I could with what I had, like learning assembly solely from the C64 reference manual.

Building a computer is one of those slow going things that inches along as I find time and my enthusiasm waxes and wanes. I bought a bunch of parts well over 10 years ago but they ended up sitting in a tray in my electronics component box. After seeing the Ben Eater videos it got me excited about it again and I got a couple minimal designs working on a breadboard.

I've written up designs over the years, trying to come up with something 6502 based but with a good amount of memory and a multitasking OS. One plan was to have the stack memory pageable to context switch easier. Then I finally realized I'm trying to make things way too complicated, got over my fear of the 65816's multiplexed address bus and I think I'll go there next.

Unfortunately I sold all my old Commodore stuff years ago, but recently got a hold of another one. Was interested in the Commander X16, but think they should really have gone with the '816. It makes so much more sense than a 6502 system with megabytes of memory. Handling paging memory around is such a pain. I know the 8 Bit Guy said he didn't want to deal with the complexity of the multiplexed bus, but I'd bet that would be simpler than building the hardware and software gymnastics around paging memory. Was excited about the MEGA 65 but the jury is still out, especially considering the potential price.

My job is in software but overall things are just so complicated these days. There are abstractions over abstractions over abstractions. Nobody ever really knows the whole system, there is too much to it. I can't believe a computer needs gigabytes of memory to run a web browser these days, just so much wasted power for mundane tasks. And you never really learn the ins and outs of every single piece of hardware in the system.

Anyway, hope to post some projects on here in the future.


Last edited by Greg816v2 on Mon Jan 17, 2022 12:05 am, edited 2 times in total.

Top
 Profile  
Reply with quote  
 Post subject: Re: Introduce yourself
PostPosted: Fri Jan 14, 2022 1:23 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8400
Location: Midwestern USA
Greg816v2 wrote:
I know the 8 Bit Guy said he didn't want to deal with the complexity of the multiplexed bus, but I'd bet that would be simpler than building the hardware and software gymnastics around paging memory.

That's the trouble with learning about this stuff from random U-Toobe sources. The guy in the video oftentimes promotes his misunderstandings and/or prejudices as fact. The 816's multiplexed bus isn't complicated—a latch takes care of it.

Quote:
I agree things have gotten too complicated. I can't believe a computer needs gigabytes of memory to run a web browser these days, just so much wasted power for mundane tasks. And you never really learn the ins and outs of every single piece of hardware in the system.

Welcome to the world of computing appliances. Modern computers have been dumbed down for the naive. Even gadgets such as the Raspberry PI are appliances.

Anyhow, enough of this. This topic is supposed to be about a new member introducing his- or herself. :D

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
 Post subject: Re: Introduce yourself
PostPosted: Sun Feb 27, 2022 1:19 pm 
Offline

Joined: Wed Aug 21, 2019 6:10 pm
Posts: 217
I got into 6502 programming because I had the good fortune to be in a position to buy a "home away from home" computer system when I was in college in the early 80s, and got a C64 system, since it was the only disk based system with a real keyboard I could afford ... I had already experienced the Timex-Sinclair 1000 with a 16KB memory pack that constantly crashed it, program store on cassette tape and membrane keyboard, so "not like that" was pretty much the source of my "wishlist".

I got into programming in Forth with a disk based version of 6502 fig-Forth customized for the C64.

I upgraded to a C128 when I went away to teach math in Grenada, West Indies in the Peace Corps. I left my first one with the school, and bought a C128D with part of my re-adjustment money. Then I "regraded" back to the C64 when I fried my C128D's CPU by taking the datassette port power tap for my User Port printer interface and plugging it in upside down, connecting ground to the power rail straight through the 8510 $00/$01 IO port. I used the C64 with a 1571 and 1581 drive, portable color TV and daisywheel printer through my first few years of grad school, until I got a cheap two floppy transportable PC on liquidation.

I always had a hankering to try my hand at my one C64 Forth implementation, but never got around to it, and when the Commander X16 project got going, the bug bit again, so I've got a rough draft of one up on their software download section (it's not yet entirely working, as, eg, DOES> does not work yet), and an open source implementation of a VM to run Woz's Sweet16 code on github.

xForth alpha: https://www.commanderx16.com/forum/index.php?/files/file/67-alpha-xforth-compiler/
SweetX16: https://github.com/BruceMcF/Sweeter16

Speaking of the Commander X16:
Greg816v2 wrote:
... ... Was interested in the Commander X16, but think they should really have gone with the '816. It makes so much more sense than a 6502 system with megabytes of memory. Handling paging memory around is such a pain. I know the 8 Bit Guy said he didn't want to deal with the complexity of the multiplexed bus, but I'd bet that would be simpler than building the hardware and software gymnastics around paging memory. ...


The hardware gymnastics are not complex at all for their VIC-20 style memory map ... use a15-a17 to select the chip and tie the memory chip a15 on up lines directly to a register.

As far as the software complexity, it is also a far sight more complicated if you want to USE that 512KB-2MB of "high RAM" the way I want to use it ... using it the way that the 8 Bit Guy wants to use it is pretty simple.

It seems like Dave mostly just wants to have a way to store data in extended RAM and the equivalent of several ROM cartridges available via software.

My ultimate plan for xForth usage of High RAM is to have the word dictionary in high RAM, to have a loadable program module system that executes out of High RAM, and to use High RAM for Block files, in a three ring circus that depends on the fact that each use is happening at a different time.


Top
 Profile  
Reply with quote  
 Post subject: Re: Introduce yourself
PostPosted: Thu Mar 24, 2022 5:40 pm 
Offline

Joined: Wed Mar 23, 2022 12:09 am
Posts: 5
Hi,

I grew up with scientific computing, my first coding was on a PDP-8/E in Fortran, then later I got a KIM-1 as a kit and learnt to solder at the same time. My first "real" computer was a Research Machines 380Z (Z80 based, CP/M, disc - Oxford, UK) and from there I went around the houses before coming back to 6502 and the BBC Micro in 1982 (I still have that machine) and I learnt to program Pascal, Forth, LISP, BASIC and assembler on the BBC - the language support was very good, supplied by the computer manufacturer, Acorn (Cambridge, UK) I then went to 68000 land and Amiga, then x86 land with a Compaq Deskpro 386 and stayed pretty much in x86 land until I got into microcontrollers ST32 series and then the Raspberry Pi came along to wean me off x86. The reason I'm here is that I have been given lots of old educational boards over the years and during the COVID lockdown, started researching them and getting them working. Unfortunately, I ended up working a lot during lockdown so didn't make as much headway as I thought. The last two large scale 6502 based projects are the Unilab "Three Chip Plus" - an ultra bare-bones 6502 board that has a separate programmer system - no monitor!) and the LJ Electronics "Digiac 3000" system, a much more elaborate 6502 board with serial ports and a nice monitor. Of course, none of it worked, that is part of the fun, bringing this stuff back to life.


Top
 Profile  
Reply with quote  
 Post subject: Re: Introduce yourself
PostPosted: Tue Jun 07, 2022 8:16 am 
Offline

Joined: Sun Jun 05, 2022 3:19 pm
Posts: 11
Hello all.

I'm Matt Regan. I was originally introduced to the 6502 back in the 1980s via the VIC20 and Commodore 64.
I've made quite a few videos on some TTL 6502 CPU builds. These machines are based on Turing machines and so they do not have the usual hardware you find in a 6502 such as the program counter, ALU, accumulator, instruction register, IX/IY etc. Yet they can execute 6502 instructions.

In one playlist, I'm building what is effectively a 1-bit CPU which emulates the 6502.
https://youtu.be/nm3X8pbxsic

In this playlist, I build an 8-bit Turing machine with 3 memory address registers to allow random access. This one actually runs in real-time.
https://youtu.be/gHU8whQP3Rg

I'm always keen on receiving feedback, so let me know what you think.


Top
 Profile  
Reply with quote  
 Post subject: Re: Introduce yourself
PostPosted: Tue Jun 07, 2022 8:35 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10938
Location: England
Welcome Matt! I've seen those ducks before so I must have stumbled across your channel. It's good stuff! it would be great if you'd start a new topic for us to discuss your ideas and your build.


Top
 Profile  
Reply with quote  
 Post subject: Re: Introduce yourself
PostPosted: Tue Jun 07, 2022 8:49 am 
Offline

Joined: Sun Jun 05, 2022 3:19 pm
Posts: 11
BigEd wrote:
Welcome Matt! I've seen those ducks before so I must have stumbled across your channel. It's good stuff! it would be great if you'd start a new topic for us to discuss your ideas and your build.

Cool, shall do. Thanks.


Top
 Profile  
Reply with quote  
 Post subject: Re: Introduce yourself
PostPosted: Tue Jun 28, 2022 8:39 am 
Offline
User avatar

Joined: Mon Jun 27, 2022 12:08 pm
Posts: 3
Location: Swindon, UK/Chengdu, Sichuan, PRC
I first started with a college board that was used to teach programming.
I have used the 6502 in a few designs and loved the Compukit UK101 which was shown in Practical Electronics Aug-Nov 1979.
There were also a lot of useful circuits within the magazines too (interfacing etc).
I used to have (and I think still have) a VIC20 and then moved to Atari STe.
I used many PC's in the past and still use BASIC even now.


Top
 Profile  
Reply with quote  
 Post subject: Re: Introduce yourself
PostPosted: Wed Jun 29, 2022 9:17 pm 
Offline

Joined: Wed Jun 29, 2022 2:15 am
Posts: 44
I fell into the 6502 rabbit hole a few months ago upon discovering the February 1991 issue of BYTE, which was the trigger of my 30+ year career starting startups. Re-reading that article 31 years later made me ponder alternative histories if only we knew a little more of what the future would hold (https://www.lunarmobiscuit.com/seeing-i ... he-future/).

A few days later falling down this hole led me back to my beginning, to my Apple ][+, acquired at age 12 or 13 in the early 1980s, so long ago I can't recall exactly when. What is wonderful about being an Apple ][ fan in the 2020s vs 1980s is that now one can in minutes find and in hours read all the insider guidebooks that I not only found back then, but would have struggled to understand.

Applying the same pondering about alternative histories led me to 6502.org, the Visual 6502 project, and more, wondering why Apple and others left the 6502 path. I, myself, did the same back then, with a 512K Mac in 1985 or 1986 (again the fuzziness of history) and with that move until a few months ago I remembered more about 68k assembly than 6502.

Ultimately these ponderings left me with questions the internet couldn't answer, only to discover Bill Mensch is a true mensch and answered my biggest questions over email. https://www.lunarmobiscuit.com/the-appl ... os-652402/ I've not seen a reply to my questions sent to Woz, but histories of Apple in the 70s and 80s answered most of that for me. https://www.lunarmobiscuit.com/what-woz-knew/


Top
 Profile  
Reply with quote  
 Post subject: Re: Introduce yourself
PostPosted: Wed Jun 29, 2022 9:39 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10938
Location: England
Welcome! Feel free to start a new topic for any talking points you have in mind.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 684 posts ]  Go to page Previous  1 ... 37, 38, 39, 40, 41, 42, 43 ... 46  Next

All times are UTC


Who is online

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