Разработчик: brusnik.com
Описание
ASSEMBLY BINARY COMPUTER
Maybe it sounds unusual but let us introduce a binary computer programmable in Assembly language.
PRACTICAL PLAYTHING
- The ASTRA-256 software is an effective tool for those who want to learn the Assembly language, not knowing where to start.
- It is a fun toy for ‘real programmers’ and those remembering the old LPG-30, Altair 8800, PDP-11.
- Finally, it’s a very good mind-breaker, not wasting your time. With the ASTRA-256, you can solve real problems. For example, those real programmers solved at the dawn of computing. Along the way, acquiring Assembly programming skills, refreshing your math knowledge.
REASONS TO LEARN ASSEMBLY LANGUAGE
- Assembly language allows to most effectively manage all the hardware resources. So it is used for programming many microcontroller devices.
- Assembly is still used to optimize programs written in higher-level languages.
- Assembly experience will give you an insight into how the magic happens. What turns hardware understanding only zeros and ones into a living intelligent computer?
BACK TO THE PAST
In the software, we tried to marry the atmosphere of the iconic first computers with a practical training tool. At the same time, you can prove yourself working in limited-resource conditions in which real programmers had been working in their days.
ASTRA-256 FEATURES
The software represents a virtual computer with a von Neumann architecture. At your disposal are the following resources:
Architecture
The 8-bit processor has an 8-bit accumulator, as well as 8-bit registers mapped to memory: instruction counter, input register, output register, stack pointer, FLAGS register.
Memory
The Astra-256 has 256 bytes of memory (exactly as it was in the first versions of the Altair 8800).
Instruction Set
The Assembly instruction set is quite extended and contains 102 instructions. But a novice user does not need to know all of them. It is enough to know only part of them to start writing the first assembly code.
To learn more about instructions, click on the Help View button in the app or read detailed documentation on the official website. You might want to print it for more immersion in the programming process.
Instructions grouped into 11 subdivisions:
- Processor Control Instructions
- Data Transfer Instructions
- Exchange Instructions
- Arithmetic and logical Instructions
- Shift Instructions
- Bit Manipulation Instructions
- Stack Manipulation Instructions
- Unconditional Transfer Instructions
- Conditional Transfer Instructions
- Input/Output Instructions
- Miscellaneous Instructions
We provide the user with an extended set of instructions similar to those found in all modern microcontrollers, microprocessors. The ASTRA-256 allows for getting basic programming skills in low-level hardware. On these foundations, you can master the coding of any modern microcontroller. After all, its basic operating principles remain the same.
PLAY, LEARN, PROGRAM!
The ASTRA-256 is a tool with everything at hand. It allows puzzling over the solution of tasks with limited resources.
Write in Assembly language a square root extraction program, a trigonometric function calculator, or an interactive game. And maybe you will be the next real programmer who sends a man to the Moon.
Поддерживаемые языки: english, russian, ukrainian
Системные требования
Windows
- OS *: Windows 10, 8.1, 8, 7, Vista (32, 64 bit)
- Processor: Dual Core 2 GHz
- Memory: 64 MB RAM
- Graphics: Requires a Direct3D 11 compatible videocard
- DirectX: Version 11
- Storage: 50 MB available space
Linux
- OS: Ubuntu 16.04 LTS 64-Bit
- Processor: Dual Core 2 GHz
- Memory: 64 MB RAM
- Graphics: Requires a OpenGL 1.4 compatible videocard
- Storage: 50 MB available space
Отзывы пользователей
This is a great simulator, I was planning on buying a real hardware similar to this one, but then... I am still learning this.
The manual doesn't help and the game seems too complicated and under-functional at the same time. Website over-hyped it, and I'm a huge fan of games like turing complete, but the UX on this game is crap.
Disclaimer: I have had previous assembler language programming experience (hobby) when I owned a TRS-80 Model I computer in the 1980s. This review will be based on that experience.
TL;DR This is a toy for those who have experience writing assembler language programs, and a very well done design of one too. Having said this, if you've never programmed before, or even if you have but use high-level programming languages, the toy can be frustrating.
[hr][/hr]
This software is basically a programming sandbox. It's a virtual machine based on the Altair 8800 microcomputer of the 1970s. This was a primitive ancestor to the modern laptops and desktops we take for granted where information was presented in blinking coloured lights and sounds. It also used assembler language, which is hexadecimal op code and the native language microcomputers understand (as opposed to C, BASIC, and Python).
In it, you write assembler language programs within a 256 byte (not gigabyte, not megabyte, not kilobyte) memory slice. Program flow and execution, arithmetic and conditional operations, data transfer and storage are done through single-byte storage counters called registers. Visual display comes in the form of flashing coloured lights representing the binary notation of a value, which is a representation of values different from decimal notation (in decimal notation, 251 is 2 groups of 10 to the power of 2, 5 groups of 10 to the power of 1, and 1 group of 10 to the power of zero or simply 1).
Data entry of both programming and any useful data to read and manipulate is done through an interface not far removed from a calculator keypad. You can enter the program either through the assembler interface which uses the mnemonic representation of the codes (MOVLA instead of 10h) or through the memory address where you enter in hexadecimal values.
You can run the program in a step-by-step debug mode or a full execution until an end-of-program instruction is read.
Because there's no "screen" to display information, the indicator lights are all you are going to get for output and you'll have to use your imagination on how to present that. Even for those like myself who grew up with a non-pixel 24 row by 80 column monochrome character screen might balk at that.
You can save programs you write, and also run programs from other Astra-256 owners through the workshop interface.
You're probably asking yourself if you should you get this.
If you have previous assembler language experience like myself, this is a revisit back to those days. It's a faithful recreation of a programming environment that both optimised program runtime and memory space while at the same time makes you feel like you are a few seconds away from having a cranial stroke from the challenge. I personally enjoyed it.
If you are willing to learn the language computers "speak", and what interpreters and compilers do to your pretty high-level Python code, this will be a great way to learn it.
Having said this...
If you never learned assembler code programming, or even know how to code a program of any kind, there's no tutorial, just the manual. It's not a bad source but it's not great one either. If you're not a learn-from-the-owner's manual type, this might not be for you, though perhaps someone in the community wrote a guide to help with that.
If you like your information readout and display to be in English, there is none. The lights are your guide and there are a lot of them.
It's basically a sandbox where you experiment in. The assembler language is fairly robust. b̶u̶t̶ ̶n̶o̶t̶ ̶w̶h̶o̶l̶l̶y̶ ̶p̶e̶r̶f̶e̶c̶t̶.̶ ̶T̶h̶e̶ ̶C̶A̶L̶L̶ ̶m̶n̶e̶m̶o̶n̶i̶c̶,̶ ̶a̶ ̶s̶u̶b̶r̶o̶u̶t̶i̶n̶e̶ ̶c̶a̶l̶l̶,̶ ̶f̶o̶r̶ ̶e̶x̶a̶m̶p̶l̶e̶ ̶d̶o̶e̶s̶ ̶n̶o̶t̶ ̶w̶o̶r̶k̶.̶ ̶
Because it's software for a small niche of very sick programmers who enjoy this (like me), your inquiries in discussion might go unanswered for a few days.
I recommended ASTRA-256 because of my past experience and it engages me to use something I've learned a long time ago, but stopped using in favour of the high level languages I use now in my past I.T. career and my hobby. To me, it's fun but what is fun for me might not be fun for you. Get it on sale, and try it for 2 hours. If you do not like it, return it. Steam is awesome at handling that up to now.
I wouldn't say this is ideal for somebody who has no experience with programming at all, but if you understand the basics enough to be able to write a simple program in any language and understand fundamentals like binary, hex, conditional statements, etc. You should have no problem getting a handle on Astra-256.
Even without experience like that, the manual makes it very easy to understand the language and how to input and manipulate data in Astra. I'm sure with a bit of trial and error, it wouldn't take much for somebody new to assembly, or fairly new to programming in general to write simple programs like writing data to memory, then performing math or logical operations on said data.
And if you're looking to learn any sort of assembly language, this would be a great place to start! It's a very simple language and a very simple system that it's implemented on. Easily the most simple form of assembly I've ever used. But that's not to say it isn't also quite versatile. Especially with the recent addition of new instructions.
My only issue with it at the moment is that the developer(s) haven't seemed to have updated the manual to include the new instructions. So I have to seek out the specific forum post about the new instructions, along with having a PDF of the manual open to be able to fully utilize everything it has to offer. But that's really quite a small issue and doesn't affect my enjoyability of it in the least bit.
All in all, I would highly recommend this program to experienced programmers and newcomers alike. It makes for not only an educational experience. But also a very fulfilling experience when you find yourself churning out programs like the oldschoolers did. And It really gives you an appreciation for the limitations they had to work with back then. As well as gives you a great appreciation for the works those programmers made while having to work around such limitations.
I'm not a programmer as such. I'm only getting started in it as a hobby, and I find it very fascinating. Professionally, the only "programming" that I do is with industrial PLC's.
While this software may not represent specific real world hardware, it's a great example of the limitations within which programmers had to work back in the day.
It's a real eye-opener to be able to see the relationship between the instructions that you punch in, and their corresponding values in the processor's memory, and to be able to follow it step by step using the debug function.
It's also a good exercise in working through the differences in writing code in a new language, as well as figuring out how to work with i/o that you are unfamiliar with.
Well done!
People who like Zachlike games and/or assembly programming will find this pretty cool. Can't wait to see where the dev takes it in terms of tutorials and puzzles, but for now we have an awesome 8-bit computer to mess around with and get a taste of what it was like to program in the old days of computing. The world needs more games/emulators like this.
This program is very confusing.
And the instruction manual for this program is extremely useless.
What is curious is that, on the website it says:
"We hope that for schoolchildren and students our calculator will be interesting."
And
"And the" children "of older age, this toy is just a pleasure."
I am an adult and, I understand assembly language and, I think this program is confusing so, how would it be interesting for a child? How would a child think this "toy" is a pleasure?
I looked for some contact from the creators of this program and, I didn't find it.
I wrote on the forum and no one answered.
So, I will ask for my money back.
It's a funny thing but a bit difficult to figure it out without training. Had to turn to the docs. Those who played TIS-100 or Shenzhen I/O may like it but only if you know how to entertain yourself since now there are no tasks nor specific goals.
I'd say this is a terribly designed game, but it's hard for me to tell what the developer's goal was. Maybe they were trying to make a confusing and seemingly pointless game with terrible instructions. If so, mission accomplished.
There is no tutorial. There are pages like "MANUAL" and "INSTRUCTION SET" which bring you to pages that contain words that are, as far as I'm aware, in English. However, speaking the language that is conveyed on those pages serves little value because they aren't in any order or context from which I can infer useful information.
I wanted to like this game because I like supporting small developers, and because those aforesaid developers seem to indicate that this game has educational value. However the only educational value I derived from this game was knowing how the inside of my skull looks due to rolling my eyes back so far.
Make a tutorial that explains how to play and what the goal is and I'll gladly consider repurchasing this game (even at full price). And for those who will inevitably say, "mAyBe YoUr JuSt A dUmMy HeAd" (that's the commenter's misspelling of "you're", not mine) I have worked in IT for 3 years and I dabble in coding and electronics, so while I'm not an expert on... to whatever subject this game is trying relate... I'm smart enough to know they should have done a better job.
At the moment the learning curve is quite high and there isn't a lot to do. The best thing to do right now is go to the workshop and subscribe to a few example programs so you can run them and see what happens. It's all still a bit buggy right now but you can't blame the developer for that. It's called early access for a reason. All in all, I'm really looking forward to seeing the progress as time goes on. It shows potential and it's kind of neat to be able to interact with a very old-school virtual computer.
First of all, thanks for the native Linux support.
Ok, so what do we have here...
https://www.youtube.com/watch?v=7WaYYNUCWMY
That's not the Assembly most people expect with all these MOVs and MULs. It's inspired by Altair 8800, LGP-30, and PDP-11, machines from somewhere in the 1978-1990 era.
It can be interesting for people who like to tamper with such museum stuff. It kinda reminds me of Zach games such as TES-100 and Shenzhen I/O. But there are no missions (yet?), so you just explore the device using the manual (ENG/RUS/UA, by the way) both PDF and in-game text, without "anyone holding your hand", as some people like to say. This is quite an interesting process by itself.
I'll definitely recommend this for anyone interested in programming games. This is one of these sadly few "niche" products which require some thinking to be interesting, instead of just feeding you with "content".
I do miss some code examples though.
https://steamcommunity.com/sharedfiles/filedetails/?id=2077855996
Architecture is confusing for x86 users but still a solid game.
Дополнительная информация
Разработчик | brusnik.com |
Платформы | Windows, Linux |
Ограничение возраста | Нет |
Дата релиза | 17.01.2025 |
Отзывы пользователей | 75% положительных (12) |