flat assembler
Message board for the users of flat assembler.
![]() Goto page 1, 2 Next |
Author |
|
Trinitek 15 Aug 2015, 22:27
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. |
|||
![]() |
|
axlucas 16 Aug 2015, 00:01
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?
|
|||
![]() |
|
Trinitek 16 Aug 2015, 01:54
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. |
|||
![]() |
|
axlucas 16 Aug 2015, 03:56
Do you know of any existing project like that? Especially, something that can produce linear video in, say, 320x200?
|
|||
![]() |
|
Trinitek 16 Aug 2015, 05:40
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.
|
|||
![]() |
|
shoorick 16 Aug 2015, 18:42
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 |
|||
![]() |
|
PeExecutable 16 Aug 2015, 19:27
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. |
|||
![]() |
|
Trinitek 16 Aug 2015, 20:34
shoorick wrote: there was a simple computer with tv out using same z80 to produce video signal: Quote: Almost 75% of CPU time was used to generate the video signal... |
|||
![]() |
|
axlucas 16 Aug 2015, 21:01
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
![]() 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? |
|||
![]() |
|
Trinitek 16 Aug 2015, 22:22
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 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. |
|||
![]() |
|
axlucas 17 Aug 2015, 03:34
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. |
|||
![]() |
|
Trinitek 17 Aug 2015, 06:18
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? |
|||
![]() |
|
PeExecutable 17 Aug 2015, 13:23
axlucas wrote:
![]() 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 ![]() |
|||
![]() |
|
system error 17 Aug 2015, 15:07
PeExecutable wrote:
Using Windows on 8-bit Z80 / 8080 is not particularly wise, just saying... |
|||
![]() |
|
PeExecutable 17 Aug 2015, 16:12
I had a Sharp mz 721 (I think) some time in the past, I loved that computer. It was heavy as a rock.
![]() |
|||
![]() |
|
shoorick 17 Aug 2015, 18:16
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 ![]() |
|||
![]() |
|
PeExecutable 17 Aug 2015, 18:29
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.
|
|||
![]() |
|
shoorick 17 Aug 2015, 19:14
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 ![]() http://www.youtube.com/watch?v=CFFoiXtYBjg |
|||
![]() |
|
randall 17 Aug 2015, 20:40
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? 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++? |
|||
![]() |
|
Goto page 1, 2 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.