WELCOME TO MY PROGRAMMABLE COMPUTER!
DESCRIPTION:
You can code your own program or play a precoded game named "Play Roulette!"
It is a working CPU using fifteen 16-bit instructions that can by coded to develop a reasonable program containing up to 256 rows of machine code. I have also made some input/output features to make using of the computer as comfortable as possible.
There are two 16Byte Registers named "General Register A", "General Register B" and two 16bit registers named "Status Register A" and "Status Register B". Thanks to given instructions you can manipulate DATA in the registers (write, read, copy, delete etc.), You can make some calculations (adding, subtraction, multiplication, comparation etc.) You can also do some logic operations (and, or, not etc..)
You can make a list of this instructions (program rows) and thanks to implemented Program Counter you can run them as programs. For this reason there are also instructions to jump in your program rows (You can make any combination of absolute jump, relative jump forwards or backwards, unconditional jump, conditional jump etc..)
Last but not least: There are instructions that will PRINT given data to TTY display component in numeric or ASCII format. And there is also a numeric keyboard designed for easiest possible user input while the program is running.
HOW TO PLAY ROULETTE:
"Play Roulette" is an easy program "simulating" the roulette. The source code could be found in the "Play Roulette" Sub-circuit.
Story:
You are a hazard player. At the begining you have cash 100 dollars . Then you can bet to a number or to a color. If you hit the right number, you triple the amount of money, you have bet. If you dont hit, you lose all the money, you have bet. If you hit the right color (red or black) you double the amount of money you have bet and so on..
Before you play:
Make sure the "POWER" value is set to "1"
Make sure the "STOP CLOCK" is set to "0"
Make sure the "CHOOSE SOURCE" value is set to "1".
In case of unexpected behaviour press the RESET button
When you play:
If the program runs properly, it should first load some data, then it will give you some instructions like: Choose a number to bet or choose how much money are you going to bet and so on.. All this tasks could be done via the numeric keyboard below.
The game ends when your cash is under 0 or over 255. If you want to play again, just press RESET button.
The speed of game depends on the clock time. Unfortunately even if the best frequency is set (50 ms), the game is very slow. So be patient please.
The game have some bugs for sure. Sorry for them! It is not designed to entertain somebody :D It is designed to test abilities of my Computer.
HOW TO CODE YOUR OWN PROGRAM:
On the left side in the project you can see 256 16bit inputs connected to the CPU. There you can code your own program using 16 bit instructions.
INSTRUCTION SET:
0000: WRITE (writes given 8bit DATA to a given ADRESS of General Register A)
0001: READ (reads 8bit DATA from given ADRESS of given REGISTER)
0010: DEL (deletes DATA from given ADRESS of given REGISTER)
0011: COPY (copies DATA from given ADRESS of given REGISTER to an other given ADRESS of given RESTER
0100: IS EQUAL (compares DATA from given ADRESS of given REGISTER with an other DATA from given ADRESS of given REGISTER. If both are equal, then it writes "1" to ADRESS 1000 of Status Register B. Otherwise it writes "0". - This specific adress is reserved for RESULT of "IS EQUAL" instruction.
0101: IS BIGGER (compares DATA from given ADRESS of given REGISTER with an other DATA from given ADRESS of given REGISTER. If DATA from the first one are bigger than from the second one, then it writes "1" to ADRESS 1001 of Status Register B. Otherwise if writes "0". This specific adress is reserved for RESULT of "IS BIGGER" instruction
0110: AND (makes logic AND with DATA from given ADRESS of given REGISTER and an other DATA from given ADRESS of given REGISTER. If the logic AND is true, then it writes "1" to ADRESS 1010 of Status Register B. Otherwise it writes "0". This specific adress is reserved for RESULT of "AND" instruction.
0111: OR (makes logic OR with DATA from given ADRESS of given REGISTER and an other DATA from given ADRESS of given REGISTER. If the logic OR is true, then it writes "1" to ADRESS 1011 of Status Register B. Otherwise it writes "0". This specific adress is reserved for RESULT of "OR" instruction.
1000: ADD (adds DATA from given ADRESS of given REGISTER to DATA from an other given ADRESS of given REGISTER. The RESULT is then stored to ADRESS of the first one of this two. (The DATA from the first one given ADRESS of given REGISTER are overwrited by the RESULT of adding). If the result is bigger than 255 (11111111), then "1" is written to ADRESS 1100 of Status Register B and the RESULT of adding is not provided and the Program Counter is not incremented so the program STOPS!!! Also the red diode "ERR OVF" should be enlightened. This ADRESS (1100 od Status Register B) named ERROR OVERFLOW is reserved for all error overflow situations.
1001: SUB (substracts DATA from given ADRESS of given REGISTER from DATA from given ADRESS of given REGISTER. (The second one is substracted from the first one). The RESULT is then stored to ADRESS of the first one of this two. (The DATA from the first one given ADRESS of given REGISTER are overwrited by the RESULT of substraction). If the result is lower than 0 (00000000) , then "1" is written to ADRESS 1100 of Status Register B and the RESULT of substraction is not provided. The Program Counter is not incremented so the program STOPS!!! Also the red diode"ERR OVF" should be enlighted. This specific ADRESS (1100 od Status Register B) named ERROR OVERFLOW is reserved for all error overflow situations.
1010: MULTIPLY (multiplies DATA from given ADRESS of given REGISTER with data from an other given ADRESS of given REGISTER. The RESULT is then stored to adress of the first one of this two. (The DATA from the first one given ADRESS of given REGISTER are overwrited by the RESULT of multiplication) If the result is bigger than 256 (11111111) , then "1" is written to ADRESS 1100 of Status Register B and the RESULT of multiplication is not provided. The Program Counter is not incremented so the program STOPS!!! Also the red diode"ERR OVF" should be enlighted. This specific ADRESS (1100 od Status Register B) named ERROR OVERFLOW is reserved for all error overflow situations.
1011: JUMP (canges the value of Program Counter variable that defines what row of program should be performed.
There are 4 possible MODES of jumping depending on given parameter and format of code: It is:
There are also 4 possible CONDITIONS that coud be combinated with each MODE
1100: RANDOM (writes a random number of given maximal value to given ADRESS of given REGISTER
1101 NOT USED
1110: LOAD EXT (provides HALT function - the Program Counter is not incremented until user inputs some DATA using the numeric keyboard. This user DATA are then written to given ADRESS of given REGISTER
1111: PRINT EXT (prints DATA from given ADRESS of given REGISTER to the TTY display. This 8bit DATA could be represented as number (0-255) or as ASCII sign. It depends on given parameter
Detailed formats how to compose the 16bit instruction for each of this 15 cases is described inside the project. In the Play Roulette Sub-circuit you coud find inspiration.
EXAMPLE OF MACHINE CODE:
0000 0001 01010101
This will write DATA "01010101" to ADRESS 0001 in General Register A.
0011 0001 00 0001 01
This will copy DATA from ADRESS 0001 of General Register A (00) to ADRESS 0001 of General Register B (01)
1000 0001 00 0001 01
Then this will ADD DATA from ADRESS 0001 of General Register A (00) to ADRESS 0001 of General Register B (01) and the RESULT is then stored to ADRESS 0001 of General Register A (The original DATA in first given REGISTER are overwriten by the RESULT)
FEEL FREE to ask questions and give me feedback. You can contact me via [email protected]
THANKS AND NOTES:
I would like to THANK to the team of developers of Circuit Verse. It is a fntastic product and I learned a lot!
Two months ago my knowledge of logic gates was ZERO.. Literally ZERO. I have no other education in this area. Everything what is done in this project I have Iearned during two months of recent Coronavirus quarantine... :)) Thanks to Circuit Verse, Youtube and Wikipedia!
I am not an IT professional at all. Actually I am a journalist. I did not study any IT school, I did not systematicaly study existing CPUs or computer architectures. Everything in this project is more or less my own invention. It means there are many mistakes and bad solutions. Therefore I will be extremly glad to get any feedback from anyone who really understands this area.
Thank you and sorry for my weak english!
Martin
click reset before beginning.
choose your location with the ''<'' and ''>'' buttons then press ''enter'' to add it to the board.
after either player wins you can go to the next round by clicking the "next round" button if the light next to it is on and the machine will add 1 point to the winner.in the case of a Tie, the board needs to be full in order to go to the next round and it will not add points to either player.
in the case of a Tie, the board needs to be full in order to go to the next round and it will not add points to either player.
a tic tac toe circuit! press a button on the controller(the square with 9 buttons) to make a move, and the reset button to start over. X goes first, X and O switch automatically
Use the button inorder to jump from left to right and vice vera and try avoiding the incoming obstacles.
If you collide with it you die and can restart using the restart button given at the bottom.
Change the difficulty by reducing the timing setting of the clock and good luck :D.
use your keyboard keys to move a pixel around 8x8 screen to get pink fruit
set clock to maximum speed and select keyboard then try ijkl keys
Over the past decade, the online casino industry has experienced exponential growth, revolutionizing the way people experience gambling. With the convenience of playing from home, an expansive variety of games, and constant innovations in technology, online casinos have become a global phenomenon. In this article, we'll explore the factors contributing to the rise of online casinos, the different types of games available, the importance of security, and tips for choosing the right platform.
The first online casino was launched in 1996, paving the way for a digital transformation in gambling. Back then, online casinos were relatively simple, with basic graphics and limited game options. However, as technology progressed, so did the online gaming experience. Today, modern online casinos boast high-definition graphics, immersive soundtracks, and even live dealer games that simulate the real casino experience.
One key factor in the rise of online casinos is accessibility. Traditional casinos often require travel, time, and a formal setting. Online casinos, on the other hand, allow players to enjoy their favorite games from the comfort of their own homes, at any time of day. This convenience, combined with the increasing penetration of smartphones and fast internet, has made gambling more accessible to a wider audience.
The variety of games available at online casinos is one of the major attractions for players. From classic table games to innovative slots, online platforms cater to every type of player. Below are some of the most popular categories of online casino games:
Online slots are arguably the most popular games in online casinos. With themes ranging from ancient Egypt to futuristic science fiction, slots offer endless entertainment. The mechanics of these games are simple—players spin the reels and hope to land matching symbols to win. Some slots even come with special features like free spins, bonus rounds, and progressive jackpots, which can lead to life-changing wins.
For players who enjoy a more traditional casino experience, online table games such as blackjack, roulette, and poker are available. These games require a mix of skill and luck, making them a popular choice for seasoned gamblers. Many online casinos offer different variants of these classic games, such as American and European roulette, Texas Hold'em poker, and more.
A relatively recent innovation, live dealer games bring the excitement of a physical casino directly to your screen. Players can interact with professional dealers in real-time through live video streaming. Games like live blackjack, live baccarat, and live roulette allow players to experience the thrill of a real casino without leaving home. The social aspect of these games, combined with high-definition visuals, creates a truly immersive experience.
Online casinos often feature a variety of specialty games that don't fit into traditional categories. These include bingo, keno, scratch cards, and virtual sports betting. These games offer quick, easy-to-play options for those looking to take a break from more complex table games or slots.
When it comes to gambling online, security and fairness are paramount. Reputable online casinos implement several measures to ensure a safe and secure gaming environment for their players. Here are some of the key aspects to consider:
The first thing to look for in an online casino is whether it is licensed and regulated by a trusted authority. Regulatory bodies such as the Malta Gaming Authority (MGA), the UK Gambling Commission (UKGC), and the Curacao eGaming license ensure that the casino operates within legal guidelines and adheres to strict standards of fairness and transparency.
To protect players' personal and financial information, online casinos use advanced encryption technologies. Look for platforms that use SSL (Secure Socket Layer) encryption, which ensures that all data transmitted between the player and the casino is securely encrypted and cannot be accessed by third parties.
For games to be fair, the outcome must be random. Trusted online casinos use RNGs to ensure that the results of their games are completely unpredictable and unbiased. Independent auditing firms, such as eCOGRA and iTech Labs, often certify the fairness of these RNG systems, giving players peace of mind that the games are not rigged.
With thousands of online casinos available, it can be challenging to choose the right one. Here are some factors to consider when selecting an online casino:
The first thing to consider is the variety of games offered by the casino. If you prefer a specific type of game, such as slots or live dealer games, make sure the platform provides a diverse selection of options in your preferred category.
Most online casinos offer bonuses and promotions to attract new players and retain existing ones. These can include welcome bonuses, free spins, cashback offers, and loyalty programs. While these promotions can be appealing, it’s important to read the terms and conditions carefully. Pay close attention to wagering requirements, which dictate how many times you must play through the bonus before you can withdraw your winnings.
Another important factor to consider is the availability of payment methods. The best online casinos offer a variety of deposit and withdrawal options, including credit/debit cards, e-wallets (such as PayPal, Skrill, and Neteller), and cryptocurrency. Additionally, check the withdrawal processing times, as some casinos process payments faster than others.
Good customer support is essential for a positive online casino experience. Look for platforms that offer multiple support channels, such as live chat, email, and phone. The support team should be responsive and knowledgeable, able to assist with any issues that arise during your gaming experience.
In today's world, many players prefer to gamble on their smartphones or tablets. The best online casinos offer mobile-friendly websites or dedicated apps that allow you to enjoy your favorite games on the go. Ensure that the casino’s mobile platform is smooth, responsive, and offers the same features as the desktop version.
The online casino industry shows no signs of slowing down. With advancements in virtual reality (VR) and augmented reality (AR), the future of online gambling promises even more immersive and interactive experiences. VR casinos are already emerging, where players can explore virtual casino floors and interact with other players in real-time.
Additionally, blockchain technology is becoming more prevalent in online casinos, offering greater transparency, security, and anonymity for players. With the rise of cryptocurrency, we can expect to see more casinos accepting Bitcoin, Ethereum, and other digital currencies as payment methods.
Online casinos have transformed the gambling industry by offering a convenient, diverse, and secure platform for players around the world. Whether you’re a fan of slots, table games, or live dealer experiences, there’s an online casino out there to suit your preferences. By understanding the key factors to consider when choosing a casino—such as security, game selection, and bonuses—you can ensure a safe and enjoyable gaming experience.
As the industry continues to evolve, players can look forward to even more innovative gaming experiences, from virtual reality to blockchain-based platforms. But as always, it’s important to gamble responsibly and choose platforms that prioritize security and fair play.