-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
117 changed files
with
7,261 additions
and
7,230 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# Ретро КР580 | ||
Проект «**Ретро КР580**» — эмулятор некоторых, интересных мне, отечественных бытовых компьютеров 80-ых годов прошлого века. | ||
Эмулятор полностью написан на **Objective-C**, является обычным приложением **macOS** и требует для своей работы *как минимум OS X Lion (10.7)*. | ||
Последнюю версию можно скачать [здесь](https://github.com/chicherov/Retro80/releases). | ||
|
||
## Поддерживаемые компьютеры | ||
* Радио-86РК | ||
* Микроша | ||
* Партнер 01.01 | ||
* Апогей БК-01 | ||
* Микро-80 | ||
* ЮТ-88 | ||
* Специалист | ||
* Специалист-MX | ||
* Специалист-MX2 | ||
* Орион-128 | ||
|
||
## Встроенный отладчик | ||
Эмуляцию можно в любой момент приостановить для отладки с помощью сочетания клавиш ⌘D. | ||
Появится консоль отладчика, в которую будут выведены текущее содержимое регистров процессора, инструкция, находящиеся по адресу PC и приглашение к вводу команды. | ||
|
||
## Клавиатура | ||
Два режима работы клавиатуры. | ||
В режиме «QWERTY» алфавитно-цифровые клавиши в целом соответствуют надписям над ними. | ||
Набирать текст можно точно так же, как и в других приложениях macOS, в том числе вставлять текст из буфера обмена. | ||
В зависимости от набранного символа эмулируется нажатие соответствующей клавиши в нужном регистре. | ||
* [ВК] это **[Return ⏎]**, [ПС] — **[Enter ⌤]** или **[fn] + [Return ⏎]**. | ||
* [СТР] — **[Delete ⌦]** или **[fn] + [Backspace ⌫]** | ||
* [↖] — **[fn] + [←]** | ||
* [СС] — **[Shift ⇧]**, в режиме «QWERTY» может игнорироваться. | ||
* [УС] — **[Control]** | ||
* [РУС/ЛАТ] — **[Option ⌥]** или **[Capslock ⇪]** для Микро-80/ЮТ-88 |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,13 @@ | ||
/***** | ||
Проект «Ретро КР580» (http://uart.myqnapcloud.com/retro80.html) | ||
Copyright © 2014-2016 Andrey Chicherov <chicherov@mac.com> | ||
Проект «Ретро КР580» (https://github.com/chicherov/Retro80) | ||
Copyright © 2014-2018 Andrey Chicherov <chicherov@mac.com> | ||
ПЭВМ «Апогей БК-01» | ||
*****/ | ||
|
||
#import "RK86Base.h" | ||
#import "ROMDisk.h" | ||
|
||
@interface Apogeo : RK86Base | ||
|
||
@property ROMDisk *ext; | ||
|
||
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
/***** | ||
Проект «Ретро КР580» (https://github.com/chicherov/Retro80) | ||
Copyright © 2014-2018 Andrey Chicherov <chicherov@mac.com> | ||
*****/ | ||
|
||
@interface ApplicationDelegate : NSObject <NSApplicationDelegate> | ||
|
||
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
/***** | ||
Проект «Ретро КР580» (https://github.com/chicherov/Retro80) | ||
Copyright © 2014-2018 Andrey Chicherov <chicherov@mac.com> | ||
*****/ | ||
|
||
#import "ApplicationDelegate.h" | ||
|
||
@implementation ApplicationDelegate | ||
|
||
- (BOOL)validateMenuItem:(NSMenuItem *)menuItem | ||
{ | ||
if (menuItem.action == @selector(inpHook:) || menuItem.action == @selector(outHook:) || menuItem.action == @selector(qwerty:)) | ||
{ | ||
menuItem.hidden = menuItem.tag != 0; | ||
} | ||
else | ||
{ | ||
menuItem.hidden = TRUE; | ||
} | ||
|
||
menuItem.alternate = FALSE; | ||
menuItem.state = FALSE; | ||
return NO; | ||
} | ||
|
||
- (IBAction)inpHook:(id)sender {} | ||
- (IBAction)outHook:(id)sender {} | ||
- (IBAction)qwerty:(id)sender {} | ||
- (IBAction)ramfos:(id)sender {} | ||
|
||
- (IBAction)extraMemory:(id)sender {} | ||
- (IBAction)ROMDisk:(id)sender {} | ||
- (IBAction)floppy:(id)sender {} | ||
|
||
- (IBAction)colorModule:(id)sender {} | ||
- (IBAction)UT88:(id)sender {} | ||
- (IBAction)VI53:(id)sender {} | ||
|
||
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
/***** | ||
Проект «Ретро КР580» (https://github.com/chicherov/Retro80) | ||
Copyright © 2014-2018 Andrey Chicherov <chicherov@mac.com> | ||
Базовый класс ретрокомпьютера | ||
*****/ | ||
|
||
@class Document; | ||
|
||
@class Display; | ||
@class Sound; | ||
@class Debug; | ||
|
||
@protocol Enabled | ||
@property(nonatomic,getter=isEnabled) BOOL enabled; | ||
@end | ||
|
||
@interface Computer : NSResponder<NSCoding> | ||
|
||
@property(class, nonatomic, readonly) NSString *title; | ||
|
||
@property(nonatomic, assign) Document *document; | ||
@property(nonatomic, assign) Display *display; | ||
@property(nonatomic, assign) Sound *sound; | ||
@property(nonatomic, assign) Debug *debug; | ||
|
||
@property(nonatomic, readonly) unsigned quartz; | ||
@property(nonatomic, readonly) uint64_t clock; | ||
|
||
@property(nonatomic, strong, readonly) NSObject<Enabled> *inpHook; | ||
@property(nonatomic, strong, readonly) NSObject<Enabled> *outHook; | ||
|
||
- (void)registerUndoWithMenuItem:(NSMenuItem *)menuItem; | ||
|
||
- (BOOL)execute:(uint64_t)clki; | ||
|
||
- (void)start; | ||
- (void)stop; | ||
|
||
- (instancetype)initWithQuartz:(unsigned)quartz NS_DESIGNATED_INITIALIZER; | ||
- (instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER; | ||
- (instancetype)init NS_UNAVAILABLE; | ||
|
||
- (BOOL)createObjects; | ||
- (BOOL)mapObjects; | ||
|
||
- (BOOL)decodeWithCoder:(NSCoder *)coder; | ||
- (void)encodeWithCoder:(NSCoder *)coder; | ||
|
||
@end |
Oops, something went wrong.