понедельник, 7 сентября 2009 г.

Microprocessor system scheme

This scheme I will need to tell about F8 microprocessor system.





 This is the simplest microprocessor system. It has CPU - Central Processor Unit, Memory (RAM or ROM), RTC (Real-time Clock) some interface units such as DMA controller. We need DMA to allow devices to connect to memory without using CPU time. I will write next post about F8 microprocessor system

понедельник, 24 августа 2009 г.

Fairchild F8 general information

Note: this information is partly taken from official F8 manual

Fairchild F8 microprocessor kit includes following devices:
  • 3850 CPU
  • 3851 PSU (Program Storage Unit)
  • 3852 DMI (Dynamic Memory Interface)
  • 3853 SMI (Static Memory Interface)
  • 3854 DMA (Direct Memory Access)
Features of 3850 CPU:
  • 8-bit structure
  • 2 milliseconds instruction cycle time
  • More than 70 instructions
  • 64 general purpose registers, one byte each
  • Up to 64 kB of ROM or RAM in any combination
  • No need of external interface device
  • Programmable realtime clocks
  • Internal power on and reset logic
  • Multilevel interrupts

воскресенье, 23 августа 2009 г.

Fairchild Channel F


Note: some information are taken from VES wiki, Wikipedia and MESS wiki.
Fairchild Channel F


Fairchild Channel F, also known as VES (Video Entertainment System) is a first programmable console in the world. It was released in August, 1976 by Fairchild Semiconductors. I will not write much information about this console, you may read it in the Wikipedia, but I will write basic technical info.

Technical Info
  • CPU: Fairchild F8 at 1.79 MHz (NTSC) or 2.00 MHz (PAL)
  • RAM: 64 bytes (registers), 2 Kb VRAM (2x128x64 bits)
  • Screen resolution: 102x58 visible (128x64 in a whole)
  • Colors: 8 (max 4 per line)
  • Audio: 500 Hz, 1 kHz and 1,5 kHz tones
  • Input: two game controllers


The console have 26 cartridges with 1-4 games on each cartridge.
You can find original manual of this console here (It is plain text).

What do you need to program VES
  • Development kit it contains DASM, improved MESS emulator, some homebrew games and guides
  • You may download DASM from it's official site. You may be sure that you have the latest version.
  • F8 Programming Guide to learn about F8 instruction set.
Later I will tell about programming itself, now you can see devkit and guide.
 

Old computer programming

Let's speak about old computers' programming. Why we need it? Is it actual nowadays or it is abandoned and wasted. Why some people are interesting in creating homebrew games and even hardware kits for such old computers and consoles as Atari 2600, Fairchild Channel F, Vectrex, Commodore-64 etc? What problems can we have while programming old hardware? These are main questions for us, and I will try to find answers on it.
Why we need it? You may say yourself: "This systems are in the past, now we have modern powerful computers with unlimited power, I can't understand, why I need to program this old junk". I can agree with you - modern systems are beautiful and powerful, but do you remember when you play in old 8-bit games? Do you remember your delight when you played it? This is one reason to program it: nostalgia. But some people can have no nostalgia because of any reasons (one of them is that these people are too young to remember it). Of course, I have other reasons to program old hardware. The next reason is simplicity of game/program logic - it is a great platform to learning. People who want create modern games must first write the Pac-man for old-console, and they will be a good specialists (in understanding game logics, of course, not in modern game programming). The third reason is crystal clear - many old chips are now used in embedded systems and programming old computers are the good school in programming for embedded systems. That's all reasons for now. If you have some reason NOT to program this systems write me about it and I will take a view on it.
Why so many people are interesting in creating old games? It is simple. It is not so widespread. It is very funny. These are some answers on this question. Read this blog and you will be able to get answer by yourself.
What problems can we have while programming old hardware? The first and main problem is a lack of documentation. Many system doesn't have programmers guides and documentation. Most of information for they are gathered by reverse engineering. The second problem is a lack of instruments for programming old hardware. But now there are some powerful and serious projects for old and small device programming - FASM, DASM, SDCC and other. We will discuss this tools later.
What will be written in this blog about old computers' programming? I will try to tell you about programming following systems: Atari 2600, Mattel Intellivision, Coleco Vision, Fairchild Channel F (VES) and GCE Vectrex. If you want to see articles about other old systems or you know, how to program they please e-mail me.
Good luck in programming!

Z80 punk

I and my friend have created an idea of Z80-punk style. We plan to use in it elements of old-school computers such as assembler and Basic languages, old processors (especially Z80) etc. Now I'm trying to write the first story in this genre. I've called it "The fog above the city" and it tells us about a difficult life of old-school programmer.

Greetings

Greetings, this is my first serious blog :-) I want to write here about programming various systems, about programming in a whole and about interesting facts of my programmer's life. I've decided to write this blog on english, make it very easier to read by my colleagues abroad. But some posts will have russian translation. Now, that's all for the first post.

Итак

Итак, я запланировал создать этот блог, как единственный, не созданный для извлечения лулзов, поэтому я долго думал, на каком же языке его вести и, надеюсь, сделал правильный выбор.