6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Oct 06, 2024 4:26 am

All times are UTC




Post new topic Reply to topic  [ 11 posts ] 
Author Message
 Post subject: Naming patterns?
PostPosted: Sun Oct 13, 2013 6:42 pm 
Offline

Joined: Tue Oct 08, 2013 5:40 am
Posts: 72
Location: /home/sci4me
Hey guys. So, this isn't 6502 specific, but as I am very interested in cpu design, I intend to design BETTER processors that have fixed previous problems, but the issue is naming. Believe it or not, that is probably the main thing stopping me from just starting a new processor that is better than the 65S4ME. Why make a new one instead of fix the old one? TBH its just my personal preference, I already have worked quite a bit on the 65S4ME and would prefer to start new. Take more consideration into things... but back to the point, I need a name for it. I need names for the processors I intend to create in the future. I guess what I'm asking for is ideas on names and ideas on how to create good names (recursive acronyms FTW). What do you all think?


Top
 Profile  
Reply with quote  
 Post subject: Re: Naming patterns?
PostPosted: Sun Oct 13, 2013 7:13 pm 
Offline

Joined: Mon Mar 25, 2013 9:26 pm
Posts: 183
Location: Germany
Hmm, is the name more important, then the product? It is probably out opinion that it's better to create a new thing the fixing problems in an old version. For a personal project this might be a good idea, but if you think about the real life, it's not. Why?
Well, we are talking about a processor, that in all cases will be a part of a more complex product. By creating a complete new processor, you may change design and layout compared to the old version. That causes a lot of trouble if somebody used the old version in his system and now wants to get the new version working without the need of redesigning the whole system and rewriting all the software. If you are a company, you would disappear from the market before you've finished your second design.
Don't get me wrong. It is totally OK if you're doing this for your private project. It is only up to you how far you go.
But what are the reasons for stopping with your 64S4ME? What are the problems and the gaps that make you stuck with it? How far did you come with the emulator for the 65S4ME? Can you show some code or is the "design page" the last thing that happend?
Do you know the Second System Syndrome? (http://en.wikipedia.org/wiki/Second-system_effect)

Mario.

_________________
How should I know what I think, until I hear what I've said.


Top
 Profile  
Reply with quote  
 Post subject: Re: Naming patterns?
PostPosted: Sun Oct 13, 2013 7:23 pm 
Offline

Joined: Tue Oct 08, 2013 5:40 am
Posts: 72
Location: /home/sci4me
Like you said, for a personal project its okay...
Well, I just think that I want to rethink the instruction set and addressing modes. Thats basically it. I mean, I got pretty far actually. This:

Code:
.org #400

start:  cli
        lda #$0b
        sta #10003      ; Set command status
        lda #$1a
        sta #10004     ; 0 stop bits, 8 bit word, 2400 baud

;; Load a character from the keyboard and store it into
;; the accumulator

getkey: lda $10002   ; Read the ACIA status
        and #$08       ; Is the rx register empty?
        bzs getkey     ; Yes, wait for it to fill
        lda $10001     ; Otherwise, read into accumulator

;; Write the current char in the accumulator to the console

write:  pha            ; Save accumulator
writel: lda $10002   ; Read the ACIA status
        and #$10       ; Is the tx register empty?
        bzs writel     ; No, wait for it to empty
        pla            ; Otherwise, load saved accumulator
        sta #10001     ; and write to output.

        jmp getkey     ; Repeat


Practically 6502 code, would create a basic echo program..

I did not create things like indexed addressing which was a large issue. As far as the assembler goes, it was minimal and very buggy but it worked...

Overall, considering the things I've learned in my time here, I'm just not really all that happy with the way it was working out. I mean it worked... but I think it could be a lot better and like I said, I would just really prefer to redesign it for two reasons, 1. i just would, 2. i enjoy the design process anyway.

*reads*

Hmmmm...


Top
 Profile  
Reply with quote  
 Post subject: Re: Naming patterns?
PostPosted: Sun Oct 13, 2013 8:18 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8414
Location: Midwestern USA
mkl0815 wrote:
Do you know the Second System Syndrome? (http://en.wikipedia.org/wiki/Second-system_effect)

Way back when, we used to call this "creeping featurism."

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


Top
 Profile  
Reply with quote  
 Post subject: Re: Naming patterns?
PostPosted: Sun Oct 13, 2013 8:26 pm 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 1948
Location: Sacramento, CA, USA
BigDumbDinosaur wrote:
mkl0815 wrote:
Do you know the Second System Syndrome? (http://en.wikipedia.org/wiki/Second-system_effect)

Way back when, we used to call this "creeping featurism."


I had much more fun reading the 'Talk' section ... it's a bit sad to me that the main article was
edited to death, even if it had problems.

Mike


Top
 Profile  
Reply with quote  
 Post subject: Re: Naming patterns?
PostPosted: Sun Oct 13, 2013 8:37 pm 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 1948
Location: Sacramento, CA, USA
sci4me wrote:
... Practically 6502 code, would create a basic echo program..

I did not create things like indexed addressing which was a large issue. As far as the assembler goes,
it was minimal and very buggy but it worked ...

Yeah, you aren't inconveniencing anyone by starting fresh, using your new knowledge and previous
experiences as a guide.

BTW, why do your lda instructions use absolute addressing, and your sta instructions use immediate
addressing to perform the same style of access? My 65m32 allows store immediates, but only to
modify a value during a register-to-register transfer ... it's the same as a load immediate register-to-
register (which also allows a numeric modifier), but it doesn't affect any flags, while load usually does.

Mike


Top
 Profile  
Reply with quote  
 Post subject: Re: Naming patterns?
PostPosted: Sun Oct 13, 2013 9:24 pm 
Offline

Joined: Tue Oct 08, 2013 5:40 am
Posts: 72
Location: /home/sci4me
barrym95838 wrote:
sci4me wrote:
... Practically 6502 code, would create a basic echo program..

I did not create things like indexed addressing which was a large issue. As far as the assembler goes,
it was minimal and very buggy but it worked ...

Yeah, you aren't inconveniencing anyone by starting fresh, using your new knowledge and previous
experiences as a guide.

BTW, why do your lda instructions use absolute addressing, and your sta instructions use immediate
addressing to perform the same style of access? My 65m32 allows store immediates, but only to
modify a value during a register-to-register transfer ... it's the same as a load immediate register-to-
register (which also allows a numeric modifier), but it doesn't affect any flags, while load usually does.

Mike

- TBH I don't really know what you mean... ??

As far as starting fresh, I suppose I should keep going with the 65S4ME... the benefit of that is that it already has a decent name :D
But really, I do want to EVENTUALLY create a new processor. I guess I should "finish" this one and after thats over, work on a new processor which is "a step up"?


Top
 Profile  
Reply with quote  
 Post subject: Re: Naming patterns?
PostPosted: Sun Oct 13, 2013 10:01 pm 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 1948
Location: Sacramento, CA, USA
sci4me wrote:
... - TBH I don't really know what you mean... ??

As far as starting fresh, I suppose I should keep going with the 65S4ME... the benefit of that is that it already has a decent name :D
But really, I do want to EVENTUALLY create a new processor. I guess I should "finish" this one and after thats over, work on a new processor which is "a step up"?


No one would blame you for abandoning something that doesn't 'flip your switch' anymore. It's a free
country, and most of us are adults here ... take your project in whatever direction suits you, and we'll
try to help.

Regarding store immediate:
Code:
example lda  1234               ; grab a byte from memory location 1234  (a = mem[1234])
        sta  5678               ; ... and copy it back out to memory location 5678  (mem[5678] = a)
        ldx  #56                ; set register x to 56  (x = 56)
        stx  78                 ; ... and place it in direct-page location 78  (mem[78] = x)
        stx  #9876              ; ... ??? where did the store go???

No-one is telling you how to implement your assembly language (mine has clearly caused some
head-scratching around here), but this sample shows the standard syntax for the assemblers
that most of us old farts know and love. The '#' operand prefix assembles into an immediate
instruction (one that takes the operand at face-value), and the absence of the '#' prefix assembles
into an absolute or direct-page instruction (one that uses the operand to specify a memory address).
When the cpu sees an immediate-mode opcode, it loads the following value 'directly' into the register.
When the cpu sees an absolute-mode opcode, it loads the following value into a memory access
register, basically using the value as a pointer into memory. If you look at any source code for
most processors, you will find that something like sta #1234 is notably absent, since you are trying
to do the high-level language equivalent 1234 = a. In my assembly language, this is not an error,
but just one of many no-ops, since there is a hidden default register z embedded within the operand.
a + 1234 is assigned to register z, and the result is discarded at the next instruction fetch.

I hope that this explanation makes more sense.

Mike

[Edit: I just remembered something about the 6800 ... staa #0 was not available in the assembly
language, but there was an undocumented op-code slot for it. If you executed this two-byte instruction,
the 6800 would do its best to comply, by storing the run-time contents of accumulator a after the 0
operand in the second byte of the instruction, and continuing execution at the byte after that ... kinky!!
Naturally, this only 'worked' if the instruction was in RAM.]


Last edited by barrym95838 on Thu Oct 17, 2013 1:42 am, edited 1 time in total.

Top
 Profile  
Reply with quote  
 Post subject: Re: Naming patterns?
PostPosted: Wed Oct 16, 2013 8:45 pm 
Offline

Joined: Tue Oct 08, 2013 5:40 am
Posts: 72
Location: /home/sci4me
What about redesigning? I mean.. I just think it would be easier for me to make the changes I want to make if I started from scratch... so, redesign it...


Top
 Profile  
Reply with quote  
 Post subject: Re: Naming patterns?
PostPosted: Wed Oct 16, 2013 9:56 pm 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 1948
Location: Sacramento, CA, USA
sci4me wrote:
What about redesigning? I mean.. I just think it would be easier for me to make the changes I want to make if I started from scratch... so, redesign it...


It depends on a few things that only you can identify. An analogy: you are painting a large, beautiful
nature scene in oil, and you screw up a large, important part of the foreground. Do you toss the whole
painting and start over from scratch with a fresh, blank canvas, or do you try to scrape off the screw-up
and paint over it, hoping that nobody will notice any evidence of the correction in the final viewing?

In other words, it depends on how good you are at covering errors, how picky your potential viewers
are, and how it is going to make you feel when you look at the finished product, and find your eyes
always being drawn to the spot that you 'fixed'.

Mike


Top
 Profile  
Reply with quote  
 Post subject: Re: Naming patterns?
PostPosted: Thu Oct 17, 2013 2:23 am 
Offline

Joined: Tue Oct 08, 2013 5:40 am
Posts: 72
Location: /home/sci4me
Well, in my perspective.. this is a "private" personal project and I don't think it will have much or any bad results... so i'll do it.


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

All times are UTC


Who is online

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