Low-level hacking of ATMs NCR

+ 0 -

Creating an emulator arcade machine. Part 3

Creating an emulator arcade machine. Part 3

 
Parts first and second .
 
 

The emulator of the processor is 8080


 

The shell of the emulator


 
Now you need to have all the necessary knowledge to start creating the 8080 emulator.
 
 
I will try to make my code as clear as possible, each opcode is implemented separately. When you get comfortable with it, you might want to rewrite it to optimize performance or reuse the code.
 
 
For starters, I'll create a memory structure that will contain fields for everything I thought was necessary when writing a disassembler. There will also be a space for the memory buffer, which will represent ...[/h][/h]
+ 0 -

Creating an emulator arcade machine. Part 2

Creating an emulator arcade machine. Part 2

 
The first part of here .
 
 

Disassembler of the processor 8080


 

Introduction


 
We need information about the opcodes and their corresponding commands. When you search for information on the Internet, you will notice that there are a lot of mixed information about the 8080 and Z80. The Z80 processor was a follower of the 8080 - it executes all 8080 instructions with the same hex codes, but also has additional instructions. I think, while you should avoid information about the Z8? so as not to get confused. I created an opcode table for our work, it is ...[/h][/h]
+ 0 -

How to compress the loader for STM8 to 8 bytes in FLASH

How to compress the loader for STM8 to 8 bytes in FLASHmemory.Since the writing of the previous article "How to compress the loader for STM8 to 18 bytes in FLASH memory" there were two versions of the loader STM8uLoader . The loader STM8uLoader version $ 36 learned to transfer control of the application program to any address in the RAM memory without the participation of the host program. The size of the 18 bytes of the loader in the FLASH memory has not changed, in the OPTION Bytes area the size has increased to 53 bytes (occupying all available space).  The version was allocated to a separate branch. $ 0D loader. The main requirement ...
+ 0 -

Almost everything you wanted to know about the floating point in ARM, but were afraid to ask

Almost everything you wanted to know about the floating point in ARM, but were afraid to ask Hello, Habr! In this article I want to talk about floating point work for processors with ARM architecture. I think this article will be useful first of all for those who port their OS to the ARM-architecture and at the same time they need support for a hardware floating point (which we did for Embox , Which previously used the software implementation of floating point operations ).
 
 
So, let's get started. google we are led to the idea that two options are especially important: -mfloat-abi and -mfpu. The -mfloat-abi option specifies ...
+ 0 -

We accelerate the multiplication of the matrices float 4x4 using SIMD

We accelerate the multiplication of the matrices float 4x4 using SIMDMany years have passed since I got acquainted with the MMX, SSE, and later AVX instructions on Intel processors. At one time they seemed some kind of magic against the backdrop of the x86 assembler, which has long been something ordinary. They got me so hooked that a couple of years ago I had an idea to write my own software renderer for one famous game. I was motivated by this, what performance these instructions promised. At some point, I even thought about writing it. But writing text was much more complicated than code.
 
 
At that time, I wanted to avoid problems with support on different ...
+ 0 -

Non-canonical terminal mode and non-blocking input to nasm

The idea of ​​writing a game in assembler language, of course, is unlikely to come to anyone by itself, but it is such a sophisticated form of reporting that has long been practiced in the first year of the MSU MSU. But as progress does not stand still, both DOS and masm become history, and nasm and Linux come to the forefront of training bachelors. Perhaps in ten years the management of the faculty will discover python, but this is not the issue now.
 
 
Programming in assembler for Linux, with all its advantages, makes it impossible to use BIOS interrupts and as a result impairs functionality...
+ 0 -

How to compile a DOS COM file with the GCC compiler &lt;{short}&gt; &lt;{full}&gt; <div class="post__text post__text-html js-mediator-article"> <font color="#808080"> The article was published on December ? 2014 </font> <br>   <i> Update from 2018:

How to compile a DOS COM file with the GCC compiler     The article was published on December ? 2014     
  Update from 2018: RenéRebe made on the basis of this article  Interesting video  (     The article was published on December ? 2014     
  Update from 2018: RenéRebe made on the basis of this article  Interesting video  (<{full}>
The article was published on December ? 2014
 
Update from 2018: RenéRebe made on the basis of this article
Interesting video
( <{short}>The article was published on December ? 2014  Update from 2018: RenéRebe made on the basis of this article Interesting video ( The article was published on December ? 2014  Update from 2018: RenéRebe made on the basis of this article Interesting video ( ? part ?)   Last weekend I participated in Ludum Dare # 31 . But even before the announcement of the conference topics because of its recent hobby I wanted to do an old school game under DOS. The target platform is DOSBox. This is the most practical way to start DOS-applications, despite the fact that all modern x86 ...
+ 0 -

8088 MPH: we will break all your emulators

8088 MPH: we will break all your emulators

 
One of the items on the list of my desires after reading the first report from the party in 1991 was a visit to the European demopati and participation in competitions compo . I participated in NAID '96 and even took place there , but my dream was always to compete with the best of the best. I'm happy to announce that after six months of hard work with good friends and incredibly talented people, we succeeded. Our demo is ...
+ 0 -

Go: speed up the selection of large tables from MySQL

I've been using Go to write an ad network for almost a year now. The development I lead on the server Intel i7-770? 16Gb RAM, 256Gb SSD. And in the script that runs once a day, the task appeared to select all the impressions for the past day and to count on this basis statistics for the day at once on several objects (site, campaign, banner).
 
 
According to Go's idioms everything is quite trivial:
 
RawBytes which ensures that the bytes from the database driver will be transferred to the user without copying. What. We will try to extract Scan into the intermediate structure with the sql.RawBytes ...
+ 0 -