mirror of
https://github.com/TomHarte/CLK.git
synced 2024-11-26 23:52:26 +00:00
Add notes to self on how to collect text.
This commit is contained in:
parent
40894964bc
commit
5143960970
@ -467,13 +467,52 @@ template<ScreenMode mode> void Base<personality>::fetch_yamaha([[maybe_unused]]
|
|||||||
const AddressT rotated_name_ = pattern_name_address_ >> 1;
|
const AddressT rotated_name_ = pattern_name_address_ >> 1;
|
||||||
const uint8_t *const ram2 = &ram_[65536];
|
const uint8_t *const ram2 = &ram_[65536];
|
||||||
|
|
||||||
|
using Type = typename Storage<personality>::Event::Type;
|
||||||
while(Storage<personality>::next_event_->offset < end) {
|
while(Storage<personality>::next_event_->offset < end) {
|
||||||
switch(Storage<personality>::next_event_->type) {
|
switch(Storage<personality>::next_event_->type) {
|
||||||
case Storage<personality>::Event::Type::External:
|
case Type::External:
|
||||||
do_external_slot(Storage<personality>::next_event_->offset);
|
do_external_slot(Storage<personality>::next_event_->offset);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Storage<personality>::Event::Type::DataBlock: {
|
case Type::Name:
|
||||||
|
switch(mode) {
|
||||||
|
case ScreenMode::Text:
|
||||||
|
// TODO: read two new character names.
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ScreenMode::YamahaText80:
|
||||||
|
// TODO: read four new character names.
|
||||||
|
break;
|
||||||
|
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Type::Colour:
|
||||||
|
switch(mode) {
|
||||||
|
case ScreenMode::YamahaText80:
|
||||||
|
// TODO: read a single 'colour' (i.e. a bitfield, governing colour selection for eight characters).
|
||||||
|
break;
|
||||||
|
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Type::Pattern:
|
||||||
|
switch(mode) {
|
||||||
|
case ScreenMode::Text:
|
||||||
|
// TODO: look up two sets of character contents, based on names from earlier.
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ScreenMode::YamahaText80:
|
||||||
|
// TODO: look up four sets of character contents, based on names from earlier.
|
||||||
|
break;
|
||||||
|
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Type::DataBlock:
|
||||||
// Exactly how to fetch depends upon mode...
|
// Exactly how to fetch depends upon mode...
|
||||||
switch(mode) {
|
switch(mode) {
|
||||||
case ScreenMode::YamahaGraphics4:
|
case ScreenMode::YamahaGraphics4:
|
||||||
@ -507,10 +546,9 @@ template<ScreenMode mode> void Base<personality>::fetch_yamaha([[maybe_unused]]
|
|||||||
line_buffer.bitmap[column + 7] = ram2[rotated_name_ & AddressT(start + 3)];
|
line_buffer.bitmap[column + 7] = ram2[rotated_name_ & AddressT(start + 3)];
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
default:
|
default: break;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
} break;
|
break;
|
||||||
|
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user