flat assembler
Message board for the users of flat assembler.

Index > Main > Looking for a good low level platform. Free hardware?

Goto page 1, 2  Next
Author
Thread Post new topic Reply to topic
axlucas



Joined: 02 May 2014
Posts: 66
Location: Argentina
axlucas
Guys... I often miss the time when DOS was number one. Not because of what that system is like, but because of what programming was like. Now the PC always contains several layers of "obfuscation" and even when we program in Assembly, we're forced to access high-level libraries and drivers, some of which even have an object-oriented structure. Then the OS does whatever it wants and may even disobey our program's requests.

I've been searching for another hardware platform, not as popular as the PC, but popular enough that I can find people to share software with; a platform that can easily acquire and that gives me complete access to all hardware. Something not as powerful as the PC, but powerful enough that I can call it a computer and make useful programs and simple games on.

I read about the Raspberry Pi, but it looks like it's really not a low-level platform, despite its simplicity. I know the Z80 microprocessor is easy to find, but it's the processor alone and I know very, very little about electronics. I've heard about Arduino, but I really don't know how that works. I know there are still the old computers, like 386s and 486s around, but I prefer to give up power to have something that I can get or build today. Maybe I don't know enough on each of this options to really make a choice. Can you guys illuminate me on this? Razz Suggestions?

(I think this post belongs here because what I want is a system that I can program in Assembly)
Post 15 Aug 2015, 21:18
View user's profile Send private message Reply with quote
Trinitek



Joined: 06 Nov 2011
Posts: 257
Trinitek
Arduino is a microcontroller platform, so it's within the same realm as the Z80 where you need to know basic electronics to use it. You might be able to find modern clones of some 8-bit home computers, but I wouldn't know anything about that.

I'm looking at building another Z80 system of my own. Maybe if I finish it, I'll make a thread about it here.
Post 15 Aug 2015, 22:27
View user's profile Send private message Reply with quote
axlucas



Joined: 02 May 2014
Posts: 66
Location: Argentina
axlucas
Thanks, Trinitek. If you do build a Z80 system with stuff I can easily get here, I'd be interesting in making a copy of it and programming for it to contribute to your project. I've read there exist bigger Zilog processors, on which I'd be interested, mainly to be able to address a little more memory. Not that I need a lot of memory for simple programs, but with just 64K addressing space, it becomes complicated to draw on the screen linearly. I suppose nothing is harder than video when making your own computer. Am I right?
Post 16 Aug 2015, 00:01
View user's profile Send private message Reply with quote
Trinitek



Joined: 06 Nov 2011
Posts: 257
Trinitek
You're thinking of the Z180, which can address up to 1 MiB and has an integrated UART and other goodies. There's also the WDC65816, which is essentially a 16-bit 6502, and that can address up to 16 MiB. I've worked with neither of those chips, however.

I haven't really figured out how to do video output like I want to. Video generator chips that you'd find in old 8-bit computers aren't really a thing anymore. The only cost effective way to generate video is by bit-banging monchrome composite video at a really low resolution with a microcontroller. People have accomplished color VGA output with hacks, but I'd really like something much more elegant, and if I can build it with chips I already have on hand, then that's even better.

Honestly, I was only going to put a serial port on this thing and talk to it through a terminal. That's all that I really need.
Post 16 Aug 2015, 01:54
View user's profile Send private message Reply with quote
axlucas



Joined: 02 May 2014
Posts: 66
Location: Argentina
axlucas
Do you know of any existing project like that? Especially, something that can produce linear video in, say, 320x200?
Post 16 Aug 2015, 03:56
View user's profile Send private message Reply with quote
Trinitek



Joined: 06 Nov 2011
Posts: 257
Trinitek
I've seen some toy projects that can do that, but they're using beasts like PIC32s and the like running at 80 MHz. There is no place for such a thing on a system that otherwise runs at 1 or 2 MHz.
Post 16 Aug 2015, 05:40
View user's profile Send private message Reply with quote
shoorick



Joined: 25 Feb 2005
Posts: 1607
Location: Ukraine
shoorick
there was a simple computer with tv out using same z80 to produce video signal:
http://www.old-computers.com/museum/computer.asp?st=1&c=330
more there (serbian):
http://retrospec.sgn.net/users/tomcat/Galaksija/MagScans/

_________________
UNICODE forever!


Last edited by shoorick on 31 Jan 2016, 19:57; edited 1 time in total
Post 16 Aug 2015, 18:42
View user's profile Send private message Visit poster's website Reply with quote
PeExecutable



Joined: 26 Jun 2015
Posts: 181
PeExecutable
The usual reason for people wanting to go back to Dos is because they don't understand windows programming in general. When speaking of abstraction levels, sure they are annoying, but nothing is really added in comparison to the old dos days. When you get used to the different layers that windows has you'll soon notice they are there for a reason, and they are missing in dos for a reason, it's actually easier to code in windows than in dos, because most of what you coded in dos didn't actually require libraries, you made simple and irrelevant programs.

So in my opinion, people wanting to go back to dos has everything to do with ignorance and not knowing what all those annoying layers actually is doing for you. I think I know pretty darn well what I'm talking about, when people want to go back to dos days, they simply don't understand the current platform they are coding and why the layers are there, if you'd understand it, you would appreciate them.

Dos was a mess, it was complete and total anarchy, and in an anarchy anything is easy to do, but if you aim for something bigger, it usually don't work because you're on your own, you have nothing, and there is no system to back you up nor much standards to rely on.

Now that doesn't mean you are not allowed to miss it, many miss dos, me included. I programmed Turbo Pascal 7.0 and Turbo Assembler in dos and I recall the joy of it. I still watch my old projects in dos box, I just mount it into dos bos and the old programming environment works magically.
Post 16 Aug 2015, 19:27
View user's profile Send private message Reply with quote
Trinitek



Joined: 06 Nov 2011
Posts: 257
Trinitek
shoorick wrote:
there was a simple computer with tv out using same z80 to produce video signal:
http://www.old-computers.com/museum/computer.asp?st=1&c=330
more there (serbian):
http://retrospec.sgn.net/users/tomcat/Galaksija/MagScans/
Quote:
Almost 75% of CPU time was used to generate the video signal...
Yikes.
Post 16 Aug 2015, 20:34
View user's profile Send private message Reply with quote
axlucas



Joined: 02 May 2014
Posts: 66
Location: Argentina
axlucas
Trinitek: I'm quite ignorant about electronics. I find it fascinating and would like to know a lot more about it. I've read many articles, but I don't have the practice or the knowledge. About PIC32, I've heard, but maybe I'll ask something really stupid. Let's try. You mean the video part is handled by a PIC32 and its frequency makes it complicated to combine it with a Z80 core? What about the PIC32 being the computer's core? On the other hand... I understand that computers are usually built trying to match frequencies, but say I had a small Z80 based computer with a serial port, I can communicate it with my new PC, so I could equally well communicate two parts of a computer even though they run at different frequencies. This idea makes me think there is something important I'm not understanding. But even the PIC32 sounds interesting to me Smile

Shoorick: That's really amazing! And again, there's a lot I don't understand here, but I imagine that any way of programming the video can't be linear because of the 64K addressing limit of the Z80. I know, for example, that 6502 based systems like the Commodore 64 and the NES use non-linear video access. This was quite reasonable at the time, but RAM was expensive then. Maybe now it makes more sense to find a linear solution. In the case of the computer you post about, I see the graphics are achieved through boxes, like text mode, if I understand correctly. This is good. Much more comfortable to program than the NES, anyway.

PeExecutable: On this, I have to say I DO know what I'm talking about. Don't mean to offend you, but I put it very clear on my first message. I don't praise DOS for what it brought to the user in terms of services. What I liked the most about DOS is that it didn't bother me and let me do what I wished with my computer. You are right that there is a good reason why modern OSs bloat the programming environment and choose to include the abstraction layers that I, perhaps annoyingly to you, called "obfuscation" layers, but the truth is that abstraction and obfuscation are almost synonyms in reality. If you put attention, I haven't really said something different from the truth. The "good reason" is that today's computers are made for the application users mainly and not for the enjoyment of programmers. Fair enough. Let them be. Now I want to find myself a system on which I can do what I want. Isn't that fair enough too?
Post 16 Aug 2015, 21:01
View user's profile Send private message Reply with quote
Trinitek



Joined: 06 Nov 2011
Posts: 257
Trinitek
axlucas wrote:
Trinitek: I'm quite ignorant about electronics. I find it fascinating and would like to know a lot more about it. I've read many articles, but I don't have the practice or the knowledge. About PIC32, I've heard, but maybe I'll ask something really stupid. Let's try. You mean the video part is handled by a PIC32 and its frequency makes it complicated to combine it with a Z80 core? What about the PIC32 being the computer's core? On the other hand... I understand that computers are usually built trying to match frequencies, but say I had a small Z80 based computer with a serial port, I can communicate it with my new PC, so I could equally well communicate two parts of a computer even though they run at different frequencies. This idea makes me think there is something important I'm not understanding. But even the PIC32 sounds interesting to me Smile
The clock mismatch isn't going to cause any problems, but my main issue is that it conflicts with my personal ethics. You've got this beefy 32-bit microcontroller which is magnitudes more powerful than the pissy little Z80 it's supporting, and it could easily emulate the entire system by itself and execute programs faster, too. The charm of using a genuine Z80 is lost by doing that. That's not actually happening here, but whenever I'm building a "pure" 8-bit system and I consider using an 8-bit microcontroller to emulate a device I don't have (UARTs usually), and I start to wonder if I could integrate multiple devices into one chip, I immediately shy away from using it or opt to using one that's less powerful.

Using the microcontroller as the core is not a feasible thing to do because executable code is stored in read-only flash memory, and RAM is not executable. Although, it is not impossible to execute new code on-the-fly because some can re-flash their own ROMs. The other option is to emulate a processor and its supporting devices, but that's been done to death, and emulator programming isn't really my idea of fun. I've been there.

Back to using the PIC32 as a video generator--to talk to the rest of the system, at the end of a screen write, the PIC would scan the pins that are connected to the address, data, and control lines and determine if there is a read or write being requested. It can do this without having to configure those pins to internally generate interrupts because it's running fast enough that it would be able to accomplish a few screen writes and data/addr bus scans before the Z80 clock toggles again.
Post 16 Aug 2015, 22:22
View user's profile Send private message Reply with quote
axlucas



Joined: 02 May 2014
Posts: 66
Location: Argentina
axlucas
Trinitek... your last post really makes it much clearer to me. I totally agree with your ethical view of it. To me, emulation wouldn't be fun either. If it were, I'd be programming an emulator to run on my PC... or I'd be programming games in FASM to be run under DOSBox. I couldn't see the thing about synchronisation because in my mind, I was imagining the talking between the processors as some kind of data polling. It can be done, but if the speeds are similar, it'd be more efficient to communicate synchronously than having to wait for your turn, right?

I'm reading that the PIC32 is programmed in C... I really don't like the idea of making a high level interpreter for my low level code. I could be OK with creating my own instruction set and fetching it from RAM by software as long as I programmed that software and it was in assembly. But yeah, true hardware is definitely better. What I want is something complete, with video and input (a keyboard), no matter if slow, and that people can replicate relatively easily, so we can share what we do. Free hardware would be excellent. I guess lots of people are trying to converge in something like that.
Post 17 Aug 2015, 03:34
View user's profile Send private message Reply with quote
Trinitek



Joined: 06 Nov 2011
Posts: 257
Trinitek
Aha! Completely forgot about this. http://www.batsocks.co.uk/products/Other/TellyMate.htm It uses IBM codepage 437, so you can use your standard DOS box-drawing characters. I'll investigate this and will consider using it.
Quote:
I couldn't see the thing about synchronisation because in my mind, I was imagining the talking between the processors as some kind of data polling. It can be done, but if the speeds are similar, it'd be more efficient to communicate synchronously than having to wait for your turn, right?
Not completely sure what you mean.
Post 17 Aug 2015, 06:18
View user's profile Send private message Reply with quote
PeExecutable



Joined: 26 Jun 2015
Posts: 181
PeExecutable
axlucas wrote:

PeExecutable: On this, I have to say I DO know what I'm talking about. Don't mean to offend you, but I put it very clear on my first message. I don't praise DOS for what it brought to the user in terms of services. What I liked the most about DOS is that it didn't bother me and let me do what I wished with my computer. You are right that there is a good reason why modern OSs bloat the programming environment and choose to include the abstraction layers that I, perhaps annoyingly to you, called "obfuscation" layers, but the truth is that abstraction and obfuscation are almost synonyms in reality. If you put attention, I haven't really said something different from the truth. The "good reason" is that today's computers are made for the application users mainly and not for the enjoyment of programmers. Fair enough. Let them be. Now I want to find myself a system on which I can do what I want. Isn't that fair enough too?
I think that a good programmer knows how to place the user at the center and the programmer at the outskirts. It's not so important what the programmer wants but more important what the user want. Ask yourself, does the user care whether or not DOS was an easier programming platform? Question

The disregard of the 'hierarchy' that windows has, or the 'hate' of it, I perfectly understand it, because I can remember a time when I also hated it, and so I am looking backward when I look at your situation. It wouldn't even occur to me to even consider using Dos anymore now that I know and understand what I understand. I think you need to dig deeper into the different libraries and get comfortable with it, because when I look at your situation, I see myself 15 years ago and the feelings I get when I see people want to go back to simpler platforms like that, is so amazingly depressing, and the only way I can explain why people are intrigued by that, is by inexperience or lack of knowledge.

Take the hard walk, get comfortable with a complex platform, and then after a while, see how smooth everything goes after that.

or even better, you can help me create games, that would be better Very Happy (If it makes more sense, we can re-create old dos games if it makes you feel better)
Post 17 Aug 2015, 13:23
View user's profile Send private message Reply with quote
system error



Joined: 01 Sep 2013
Posts: 671
system error
PeExecutable wrote:
axlucas wrote:

PeExecutable: On this, I have to say I DO know what I'm talking about. Don't mean to offend you, but I put it very clear on my first message. I don't praise DOS for what it brought to the user in terms of services. What I liked the most about DOS is that it didn't bother me and let me do what I wished with my computer. You are right that there is a good reason why modern OSs bloat the programming environment and choose to include the abstraction layers that I, perhaps annoyingly to you, called "obfuscation" layers, but the truth is that abstraction and obfuscation are almost synonyms in reality. If you put attention, I haven't really said something different from the truth. The "good reason" is that today's computers are made for the application users mainly and not for the enjoyment of programmers. Fair enough. Let them be. Now I want to find myself a system on which I can do what I want. Isn't that fair enough too?
I think that a good programmer knows how to place the user at the center and the programmer at the outskirts. It's not so important what the programmer wants but more important what the user want. Ask yourself, does the user care whether or not DOS was an easier programming platform? Question

The disregard of the 'hierarchy' that windows has, or the 'hate' of it, I perfectly understand it, because I can remember a time when I also hated it, and so I am looking backward when I look at your situation. It wouldn't even occur to me to even consider using Dos anymore now that I know and understand what I understand. I think you need to dig deeper into the different libraries and get comfortable with it, because when I look at your situation, I see myself 15 years ago and the feelings I get when I see people want to go back to simpler platforms like that, is so amazingly depressing, and the only way I can explain why people are intrigued by that, is by inexperience or lack of knowledge.

Take the hard walk, get comfortable with a complex platform, and then after a while, see how smooth everything goes after that.

or even better, you can help me create games, that would be better Very Happy (If it makes more sense, we can re-create old dos games if it makes you feel better)


Using Windows on 8-bit Z80 / 8080 is not particularly wise, just saying...
Post 17 Aug 2015, 15:07
View user's profile Send private message Reply with quote
PeExecutable



Joined: 26 Jun 2015
Posts: 181
PeExecutable
I had a Sharp mz 721 (I think) some time in the past, I loved that computer. It was heavy as a rock.

Image
Post 17 Aug 2015, 16:12
View user's profile Send private message Reply with quote
shoorick



Joined: 25 Feb 2005
Posts: 1607
Location: Ukraine
shoorick
nice thing! built-in storage!
first time i was using reel tape recorder to store my programs - the main problem in it was rewind - it was impossible without help of finger Rolling Eyes
Post 17 Aug 2015, 18:16
View user's profile Send private message Visit poster's website Reply with quote
PeExecutable



Joined: 26 Jun 2015
Posts: 181
PeExecutable
I remember the buttons on the tape to be very solid, "oily" and a nice tiny little 'click clack" sound when you pressed it. On other tape's it was usually very noisy and 'loose'. Another thing I remember was a blue screen once you powered it up. I remember games on it, like PacMan and other 'space' type games.
Post 17 Aug 2015, 18:29
View user's profile Send private message Reply with quote
shoorick



Joined: 25 Feb 2005
Posts: 1607
Location: Ukraine
shoorick
yes, first time it was looking like a magic!
btw, I was turn on mine on 2011 last time - I hope it was not last time at all yet Wink

http://www.youtube.com/watch?v=CFFoiXtYBjg
Post 17 Aug 2015, 19:14
View user's profile Send private message Visit poster's website Reply with quote
randall



Joined: 03 Dec 2011
Posts: 155
Location: Poland
randall
PeExecutable wrote:
I think that a good programmer knows how to place the user at the center and the programmer at the outskirts. It's not so important what the programmer wants but more important what the user want. Ask yourself, does the user care whether or not DOS was an easier programming platform? Question

The disregard of the 'hierarchy' that windows has, or the 'hate' of it, I perfectly understand it, because I can remember a time when I also hated it, and so I am looking backward when I look at your situation. It wouldn't even occur to me to even consider using Dos anymore now that I know and understand what I understand. I think you need to dig deeper into the different libraries and get comfortable with it, because when I look at your situation, I see myself 15 years ago and the feelings I get when I see people want to go back to simpler platforms like that, is so amazingly depressing, and the only way I can explain why people are intrigued by that, is by inexperience or lack of knowledge.

Take the hard walk, get comfortable with a complex platform, and then after a while, see how smooth everything goes after that.

or even better, you can help me create games, that would be better Very Happy (If it makes more sense, we can re-create old dos games if it makes you feel better)


PeExecutable,
I could ask you: why ASM and not C++?

Take the hard walk, get comfortable with a complex language, and then after a while, see how smooth everything goes after that.

You are convincing hobby programmer not to use DOS, why? It is his choice. It's just that some programmers prefer simpler platforms (DOS not Windows) and simpler languages (ASM not C++).
You are coding in asm (I assume) not in C++, would you like to be convinced by someone not to use ASM but C++?
Post 17 Aug 2015, 20:40
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page 1, 2  Next

< Last Thread | Next Thread >
Forum Rules:
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 vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar. Also on YouTube, Twitter.

Website powered by rwasa.