19 August 2018, 22:13 | #21 | |||
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,468
|
Every time I read this things, I wonder if in fact the writer has ever really programmed on these architectures...
Quote:
Fast and without 'hardware bug' (if you really want to call it this bad implementation). Quote:
Quote:
As meynaf has written a thousand times we must consider the algorithms in their complexity. More the code size increases, more the density increases for 68k compared to others. And the breaking point is reached really really soon. And yes, I have deeply coded, both for hobby and for work, in all the mentioned architectures and many others. I'll let you guess which one is my favorite.. Cheers Last edited by ross; 19 August 2018 at 23:24. Reason: typos.. |
|||
19 August 2018, 22:22 | #22 |
Registered User
Join Date: Dec 2014
Location: germany
Posts: 439
|
double post, please ignore
Last edited by chb; 20 August 2018 at 19:33. |
19 August 2018, 22:55 | #23 |
Registered User
Join Date: Jun 2008
Location: Boston USA
Posts: 466
|
How far can you conditionally branch in a 68k vs an 8086? It's +-32k on the 68k vs +-127 bytes (yikes) on the 8086.
Here are some other interesting questions. How many registers do you have on the 8086? How many of them can be used for any operation? How many addressing modes do you have? What's the maximum word size you can use? What's the maximum addressing range? How many bits can you shift in a single instruction? The 8086 is a toy in comparison to the 68k. Like a z80 with delusions of grandeur. You can't compare them. The 68k is superior in every single way. |
19 August 2018, 23:05 | #24 | |||||
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,409
|
Quote:
It rather famously has a pretty scary bug in the way it deals with interrupts, where using a pop instruction can lead to interrupts being re-enabled without the programmer ever asking for this. Interrupt code on 8086/80186/80286 has to work around this. This bug was part of the architecture until the 386, so users of x86 where forced to work around this bug and didn’t have an alternative to use a corrected CPU. Quote:
Both move.w <ea>,An and move.<any> <ea>,address.w exist on 68000. Quote:
A silly, but prudent, example here: I used to be really into Mandelbrot rendering back in the day. I had a Simons Basic version on the C64 (1 MHz 6502). I translated this to AMOS basic on the Amiga. The C64 version took 3,5 hours to finish. The AMOS version took less than 10 minutes. Doubling the 6502’s speed would not have made up for this difference. This is just a single example, but it’s very easy to find many, many more. Benchmarks from the 1980s are tricky things, because they tend to be very unreliable. For instance, check the link here: https://tech-insider.org/unix/research/1986/0219.html Results are all over the place, with the 68000, 8086 and 286 losing and winning versus each other purely based on what compiler was used to compile the benchmark program. This tells us that relying on benchmarks is a bad idea, they may end showing a system as seemingly faster or slower, when in fact it might just be a poor compiler or poor implementation that’s causing the differences. This problem still exists today. Benchmarking is hard to do. Quote:
Quote:
And err, 68000 has relative jumps as well. Both 16 bit and 32 bit relative if needed. Last edited by roondar; 19 August 2018 at 23:14. Reason: Clarified benchmark problems |
|||||
19 August 2018, 23:25 | #25 | |||
Registered User
Join Date: May 2014
Location: inside the emulator
Posts: 377
|
Quote:
Quote:
None. For instance instructions like MOVS*, SCAS*, STOS* use fixed registers. The 8086 is a modified accumulator architecture after all. Depends on how one counts address modes, is the STOS* instruction an address mode for instance? Not many, I'd say 5. 16 bit of course, it's a 16 bit processor. It does however support some 32 bit operations. 1MiB or 64KiB depending on what you mean. 255(!) - most of those are a waste of time of course. Later x86 limits this, one of the few incompatibilities in the series. Quote:
|
|||
20 August 2018, 08:56 | #26 | |
Registered User
Join Date: Jun 2015
Location: Germany
Posts: 1,918
|
Quote:
One thing I would like to mention: there is a reason for the massive preference of academia for the 68k. Between 1985 and 1995 you could hardly find any computer architecture textbook or assembly language course that used the x86 instead of the 68k. It was technically much better than the x86 and only lost to it for economical reasons. |
|
20 August 2018, 11:21 | #27 | ||||||||||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
Quote:
And what about your experience ? If you have experience, then you should have code to show ! Quote:
Quote:
You may want to disassemble it maybe ? I can provide the 68k source, you do the... oh, well - sorry, disassembling something on x86 is a pain in the a$$, i forgot I only had a partial look at x86 binary, but individual routines i checked were nearly always larger in x86. Quote:
Maps are not embedded in the executable, they are in a separate dir. The game versions are identical, only thing is that Mac 68k version does not have midi music but sound drivers are external in x86 version. And so is the smack player in the windows version, yet the exe is still bigger... But don't worry. x86 ain't so bad ; the Mac PPC version is still a lot larger than the two others Quote:
In comparison, 68000 can use word and longword sized operations without size penalty. Quote:
Yes they could wait for next gen cpu but 68000's next gen is 68020 and isn't affected by this. But most 68000 users didn't even notice ! Because at least CLR on 68000 behaves as expected and the bug did not show on many machines (only on some Amiga's hardware registers), for many it was just a minor timing issue. Quote:
Anyway, similar story in x86 32 bits, so where's the point ? Quote:
And 8088 is (i believe) slower than similar clocked 6502 (perhaps not 8086). Too bad i can't do this kind of benchmarks anymore :/ Anyway the effective speed of the implementation is of little relevance to me. ISA quality counts better. And while certainly not perfect, the 68k is the only cpu on which serious programs can be coded entirely in asm -- which is not nothing. Quote:
Quote:
That said, it's true i don't want to do bare 68000 anymore - which is annoying in some ways - and i code normally for 68030. Quote:
There is no benefit vs locked ADD instruction (in real life we don't need the original value of the memory location). If you really think it's usefull, well... as usual i want to see the code. Not of much use because this only works on registers. TST can operate on memory directly (and I do that all the time !). Quote:
And just about every cpu has relative jumps, no ? Hmm, maybe i got confused with the jasmin drive's "reset" button, which indeed could get rid of this situation without having to power the oric off... |
||||||||||||
20 August 2018, 11:52 | #28 | |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
|
Quote:
|
|
20 August 2018, 12:21 | #29 | |
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
Quote:
Yet it's perhaps not as good as it looks : - we have no idea about the quality of their API - old MSDOS versions were asm too, after all - nothing proves it's really handwritten asm ; you can compile something and pretend it's asm (who will check ?) - very few apps seem to be available - look in the history to see how much time it took them |
|
20 August 2018, 12:44 | #30 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
|
I wouldn't know, because I never write x86/x64 code. On the peecee I use C# (and C sometimes).
I highly doubt that's the case here, because what's the point? |
20 August 2018, 12:52 | #31 | ||
Registered User
Join Date: May 2014
Location: inside the emulator
Posts: 377
|
Quote:
Quote:
The 8086 is also easy to program, there are generally only one way to do things. Generating near optimal code for it can be done in a simple one pass compiler, that's how cookie-cutter code friendly it is. Limiting but easy. -- Read the linked posts in the OP and... I thought meynaf was going about as usual (can't say anything remotely bad about 68k or remotely good about any other architecture to that man) but here I have to agree. The 8086 vs the 68000 have only one winner architecturally, the 68k. X86 could only start to compare with the 80386 which is a massive reinvention of the basic modified accumulator design to an almost fully orthogonal register design - the keyword is MASSIVE. |
||
20 August 2018, 13:27 | #32 | ||
Registered User
Join Date: Jun 2015
Location: Germany
Posts: 1,918
|
Quote:
Quote:
|
||
20 August 2018, 13:48 | #33 | |
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
What's the point in writing an OS with so few apps ? I don't see any, but they did.
What's the point in lying about it being real asm ? I remember some old 8-bit game advertised as 100% asm, which was mostly encrypted Basic program... The fact they don't provide the sources for download is at least suspicious to me. It looks so incredible. Quote:
And while I may say a lot more bad things about 68k than you imagine, what would be the point ? |
|
20 August 2018, 14:17 | #34 |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 818
|
|
20 August 2018, 14:38 | #35 | |
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,409
|
Quote:
It's kind of like asking "What's the point in writing new Amiga software in 2018" or "What's the point in making a painting in the style of Vincent van Gogh" - the same answer applies: because the person doing so wants to do it |
|
20 August 2018, 14:38 | #36 | |||
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
|
Quote:
Quote:
Quote:
Could be interesting to hear! |
|||
20 August 2018, 15:27 | #37 | |||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
Quote:
That's nothing worth so much touble... Quote:
Quote:
You *do* want the list, hmm ? A few have been mentioned here already if you paid attention to them, but here are a few annoyances (nothing close to the horror it is on other cpu families, obviously) : . no eor from mem . no exg in mem . two carries (as i said, minor, but nevertheless valid, shortcoming) . code density could have been better, especially with immediates . 020+ strange modes (more problematic for the implementation though) . addressing modes missing from movem . lack of flexibility for address registers . a7 shouldn't have been sp . duplicate encodings for same operation (add #i vs addi) . pc-relative modes not writeable (even though i know the design reason for this) . lack of flexibility for shift operations . ipl=0 is exact same as ipl=1 (not an annoyance but an oddity) . vector table not exactly clean and compact . stack frame incompatibility over members of the family . no byte index, but nothing to ease extending values either . strange compatibility tricks : move ccr, byte push/pop doing a7 +2/-2 . dbf limited to 0..n and word size . many instructions needlessly touch the ccr (or some bits of it) And of course it's not difficult to "invent" extra instructions that would be quite practical to have. @Megol: seems you were wrong when you wrote i just can't say anything remotely bad about 68k. |
|||
20 August 2018, 15:29 | #38 |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 818
|
Right here: http://www.menuetos.net/M32.htm
|
20 August 2018, 15:50 | #39 | |
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
Quote:
So it appears to be real asm. Well, but that's not exactly "a whole OS", rather a small vm. So what does it prove ? That with 10-15 years one can write something that remotely resembles an OS ? How long did it take for Sassenrath to write Exec ? |
|
20 August 2018, 15:54 | #40 |
Join Date: Jul 2008
Location: Sweden
Posts: 2,269
|
Meynaf, you're drunk. Turn the computer off and go to bed.
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Any software to see technical OS details? | necronom | support.Other | 3 | 02 April 2016 12:05 |
2-star rarity details? | stet | HOL suggestions and feedback | 0 | 14 December 2015 05:24 |
EAB's FTP details... | Basquemactee1 | project.Amiga File Server | 2 | 30 October 2013 22:54 |
req details for sdl | turrican3 | request.Other | 0 | 20 April 2008 22:06 |
Forum Details | BippyM | request.Other | 0 | 15 May 2006 00:56 |
|
|